Der Zeichensatz ist Teil des Gebietsschemas, das durch den Wert von NLS_LANG
bestimmt wird . Wie die Dokumentation deutlich macht, ist dies eine Betriebssystemvariable :
NLS_LANG
wird auf UNIX-Plattformen als Umgebungsvariable gesetzt. NLS_LANG
wird in der Registrierung auf Windows-Plattformen festgelegt.
Jetzt können wir ALTER SESSION
verwenden um die Werte für ein paar Gebietsschema-Elemente zu ändern, NLS_LANGUAGE und NLS_TERRITORY. Aber leider nicht der Zeichensatz. Der Grund für diese Diskrepanz ist - denke ich - dass die Sprache und das Gebiet einfach beeinflussen, wie Oracle die gespeicherten Daten interpretiert, z. ob bei der Anzeige einer großen Zahl ein Komma oder ein Punkt angezeigt werden soll. Wohingegen der Zeichensatz sich damit befasst, wie die Client-Anwendung die angezeigten Daten wiedergibt. Diese Informationen werden von der Client-Anwendung beim Start erfasst und können nicht von dort aus geändert werden.