Database Collation Utilities

Topics:

Starting with WebFOCUS Release 8.2 Version 02, there are utilities that enable you to check and change the database collation to ensure it meets WebFOCUS requirements. Databases used as the WebFOCUS repository must be case sensitive.

These utilities are supported with MS SQL Server and MySQL databases and enable you to change the database collation from case insensitive to case sensitive.

The following is a list and description of the available utilities. The utilities are located in the drive:\ibi\WebFOCUS82\utilities\dbupdate\collation\ folder.

check_db_collation.bat

Output example:

[2017-11-21 17:08:53,729] INFO stdout - Starting collation_tool(check_cs_collation) process ...
[2017-11-21 17:08:54,278] OFF stdout - Database collation is NOT case sensitive or does not meet WebFOCUS requirements
Or
[2017-12-13 12:41:11,117] INFO stdout - Starting collation_tool_install(check_cs_collation) process ...
[2017-12-13 12:41:11,831] OFF  stdout - Database collation is case sensitive
[2017-12-13 12:41:11,831] INFO stdout - Done
Database IS case sensitive

check_install_db_collation.bat

Output example:

[2017-11-21 09:54:23,996] INFO stdout - Starting collation_tool_install(check_cs_collation) process ...
[2017-11-21 09:54:24,384] OFF stdout - Database collation is case sensitivedb_help.bat

change_db_collation.bat

Output example:

[2017-12-05 13:26:53,714] INFO stdout - Starting collation_tool_install(collation_change) process ...
[2017-12-05 13:26:55,081] OFF stdout - Collation changed.

change_install_db_collation.bat

Output example:

[2017-11-21 09:56:18,174] INFO stdout - Starting collation_tool_install(collation_change) process ...
[2017-11-21 09:56:19,616] OFF stdout - Collation changed.

get_db_collation.bat

Output example:

[2017-11-21 09:53:58,559] INFO stdout - Starting collation_tool_install(get_current) process ...
[2017-11-21 09:53:59,403] OFF stdout - Database collation: 'Latin1_General_CS_AS'

get_install_db_collation.bat

Output example:

[2017-12-05 13:24:41,121] INFO stdout - Starting collation_tool_install(get_current) process ...
[2017-12-05 13:24:41,481] OFF stdout - Database collation: 'Japanese_90_CI_AS_WS_SC'

list_db_CS_collations.bat

Output example:

…
"SQL_Latin1_General_CP1251_CS_AS","Latin1-General, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive for Unicode Data, SQL Server Sort Order 105
on Code Page 1251 for non-Unicode Data","1251"
"SQL_Latin1_General_CP1253_CS_AS","Latin1-General, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive for Unicode Data, SQL Server Sort Order 113
on Code Page 1253 for non-Unicode Data","1253"
"SQL_Latin1_General_CP1254_CS_AS","Turkish, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive for Unicode Data, SQL Server Sort Order 129
on Code Page 1254 for non-Unicode Data","1254"
"SQL_Latin1_General_CP1255_CS_AS","Latin1-General, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive
…

list_install_db_CS_collations.bat

Output example:

"Japanese_CS_AI","Japanese, case-sensitive, accent-insensitive, kanatype-insensitive,
width-insensitive","932"
"Japanese_CS_AI_WS","Japanese, case-sensitive, accent-insensitive, kanatype-insensitive,
width-sensitive","932"
"Japanese_CS_AI_KS","Japanese, case-sensitive, accent-insensitive, kanatype-sensitive,
width-insensitive","932"
"Japanese_CS_AI_KS_WS","Japanese, case-sensitive, accent-insensitive, kanatype-sensitive,
width-sensitive","932"

list_db_CS_compatible_collations.bat

Output example:

[2017-11-21 10:29:31,566] INFO stdout - Starting 
collation_tool_install(list_cs_compatible_collations) process ...
COLLATION_NAME,COLLATION_DESCRIPTION,CHARACTER_SET/CODE_PAGE
------------------------------------------------------------
"Japanese_90_CS_AS_KS_WS_SC","Japanese-90, case-sensitive, accent-sensitive,
kanatype-sensitive, width-sensitive, supplementary characters","932"

list_install_db_CS_compatible_collations.bat

Output example:

[2017-12-05 13:42:14,867] INFO stdout - Starting
collation_tool_install(list_cs_compatible_collations) process ...
COLLATION_NAME,COLLATION_DESCRIPTION,CHARACTER_SET/CODE_PAGE
------------------------------------------------------------
"Japanese_90_CS_AS_KS_WS_SC","Japanese-90, case-sensitive, accent-sensitive,
kanatype-sensitive, width-sensitive, supplementary characters","932"

db_collation.bat

Called by all collation scripts.

Note: To run the utilities on Windows, open the Command Prompt with the Run as administrator option and enter the name of the script.

Scripts generate logs in the ..\WebFOCUS82\logs folder, using naming convention script name followed by date/time, for example, check_db_collation_2017-12-13_12-41-07.log.

When running the scripts against a new database (not using the database specified in install.cfg), the tools prompt for:

  1. Database connection URL, for example:
    jdbc:sqlserver://host_machine_name:1433;DatabaseName=WebFOCUS8203
  2. JDBC driver class, for example:
    com.microsoft.sqlserver.jdbc.SQLServerDriver
  3. Database Repository User Name
  4. Database Password

Possible Errors When Running Scripts

  • Connection failure due to bad credentials:
    …
    [2017-11-21 09:55:16,837] OFF stdout - Tool 'collation_tool_install(check_cs_collation)' FAILED to connect to database : ERROR_REPOSITORY_JDBC_AUTHENTICATION_FAILED .
    …
    Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'yyy'.
    …
  • Connection failure due to invalid JDBC driver info:
    Caused by: com.ibi.dbtools.errors.DbException [FEATURE_NOT_IMPLEMENTED]:
    No collation tool available for provider C:\ibi\jdbc\sqljdbc42.jar
  • Connection failure due to bad credentials or connection info:
    Caused by: com.ibi.dbmigration.errors.DbMigrationException
    [GENERIC]: Cannot connect to database [sqlserver://DP03423-1:1433;DatabaseName=ci_test]
    using provided credentials and jdbc driver [C:\ibi\jdbc\sqljdbc42.jar]

WebFOCUS

Feedback