31. März 2010

Ändern des Character Sets auf UTF8 in 3 Schritten

Was müssen wir in unserer Forms-Applikation alles ändern, wenn die dahinter liegende Datenbank von einem Single-Byte- auf einen UTF8-Zeichensatz geändert wird?

Erster Schritt:

Sichere alle Forms-Sourcen, die lokale Forms-Installation und alle Application-Server-Konfigurationsdateien.

Danach wird die NLS_LANG der Registry geändert. Zuerst einmal kann man den String in einem Dummy-Parameter zwischenspeichern, indem man einen neuen Parameter erzeugt namens "NLS_alt" mit dem aktuellen Wert des NLS_LANG. Danach ändert man den Wert von NLS_LANG z.B. auf "GERMAN_GERMANY.UTF8". Diese Änderung hat nur Auswirkungen auf den lokalen Forms Builder und wird benötigt um alle Forms-Sourcen neu durchzukompilieren.

Jetzt ändern oder erweitern wir die "default.env". Falls es dort schon eine Zeile mit NLS_LANG gibt, dann wird der neue UTF8-Wert (s.o.) dort reingeschrieben. Im anderen Fall wird eine neue Zeile NLS_LANG erzeugt. Diese Änderung hat nur Einfluss auf unseren lokalen OC4J.

Die gleichen Änderung werden auch an der default.env des Application Servers vorgenommen (jedoch mit den Mitteln des OEM-Editors und nicht direkt an den Dateien)

Diese Vorbereitungen im Bereich der Umgebungsvariablen sind zwingend notwendig


Es geht weiter mit Ändern des Character Sets auf UTF8, Schritt 2