Article

I18N. How To Change Database Collation?

« Go Back

Information

 
Article Number000001378
EnvironmentProduct: Progress
Version: 9.x
Product: OpenEdge
Version: 10.x, 11.x
OS: All supported platforms
Other: i18N
Question/Problem Description
How to change the database collation table?
Changing the Datadase Collation Table
Database collation table change
Steps to Reproduce
Clarifying Information
Error Message
Defect/Enhancement Number
Cause
Resolution
The primary purpose of the collation table is to provide a sorting algorithm with a sort weight for each character. The sort weight determines the sort order for a character. The heavier the character weight, the further down it falls in sort order.

To change the sort order, the numeric values need to be modified in the collation table. For this purpose, the predefined .df files in the %DLC%\PROLANG directory can be used. There will only be subdirectories in the PROLANG directory for the languages selected when Progress/OpenEdge was installed.

Example:

The %DLC%\PROLANG\AME directory contains the American specific .df files ame1252.df, ame850.df and ame88591.df with collation Basic.


To Change the Database Collation:

0.   ​Before making any of the following changes, ensure there is a valid backup of the database.

1.   If the database was created before 10.1A, for example 10.0B, and the collation change is performed  in 10.1A, before loading the new collation table the database schema first needs to be updated to the 10.1A schema by using the following command:

$   proutil <dbname> -C updateschema

2.   Before changing the database collation, the correct database code page must be known. The database code page can be found for example from:
Data Administration > Utilities > Information.

3.   Depending on the database code page, choose the collation needed

These files can be viewed in a text editor, where the CODEPAGE-NAME needs to be that used by the database.

Example:
  • ame1252.df for database code page 1252
  • ame850.df for IBM 850
  • ame88591.df for ISO 8859-1 and similar for other languages
4.    To change the database collation, use the Data Administration tool to load the file

5.   Rebuild Indexes.

It is absolutely necessary to rebuild all indexes after the Database Collation change. Not rebuilding indexes will result in a Logical Corruption of the Database.

$   proutil <database> -C idxbuild ALL -cpinternal <database code page>

The database collation is now changed.

Many non BASIC collations may fail with the error 4686 because the database does not have the correct Word Break Table applied for the collation used. Refer to Article 000021231, Error 4686 with international collations need the new *.wbt word break tables   
Workaround
Notes
Attachment 
Last Modified Date5/2/2017 10:05 AM


Feedback
 
Did this article resolve your question/issue?

   

Your feedback is appreciated.

Please tell us how we can make this article more useful. Please provide us a way to contact you, should we need clarification on the feedback provided or if you need further assistance.

Characters Remaining: 1025