Consultor Eletrônico



Kbase P20257: How to convert collation table GERMAN9 to BASIC and codepage 1252 to ISO8859-1
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   19/05/2009
Status: Verified

GOAL:

How to convert collation table GERMAN9 to BASIC and codepage 1252 to ISO8859-1

GOAL:

How to convert collation table and codepage

FACT(s) (Environment):

Progress/OpenEdge Product Family
All Supported Operating Systems

FIX:

1.) Shut the database down

2.) Take a full backup of the database
probkup <db> <db>.bak

3.) first convert the codepage from 1252 -> ISO8859-1 as follows:
[from a proenv session]

proutil <db> -C convchar convert ISO8859-1 -G 0
(answer y to the prompt about backup, because you have one!)

4.) If the following 4GL code is executed the codepage is now ISO8859-1 (from 1252) but the collation table is still GERMAN9.

/* check codepage | collation table START*/

DEF VAR i AS INT.

DO i = 1 TO NUM-DBS:
MESSAGE LDBNAME(i) SKIP
PDBNAME(i) SKIP
DBPARAM(i) /* the all connection phrase -S -H -N ...*/ SKIP
DBTYPE(i) SKIP
DBVERSION(i) SKIP
DBRESTRICTION(i) SKIP
SDBNAME(i) SKIP
DBCOLLATION(i) SKIP
DBCODEPAGE(i) VIEW-AS ALERT-BOX INFO BUTTONS OK.
/* check codepage | collation table END*/

5.) To change the collation table from GERMAN9 -> BASIC:

Database Administration (connect <db> )-> ADMIN -> LOAD DATA and DEFINITIONS -> Data Definitions (.df) -> [FILES] -> select *either* %DLC%/prolang/ame/ame88591.df
OR
%DLC%/prolang/eng/88591.df

where you will get a message:
Collation tables for database '<db>' have been changed. You must rebuild all the index in order to reconnect to this database (2609)
then a warning message:
The .df just loaded contains translation or collation tables that are different from the ones that were already in the database. You will not be able to use this database in any way until you rebuild the indexes
then:
Load completed ->OK

Exit the database administration tool

6.) rebuild all your indexes
proutil <db> -C idxbuild ALL -TB 24 -TM 32 -B 1024

If the 4GL code provided above is now executed, the collation has changed from 1252 to BASIC and the codepage has changed from GERMAN9 to ISO8859-1.