Beim Datenbank-Connect bekommt man den Fehler „DB_LOCALE environment variable does not match locale of the database“
Wenn man versucht, sich anzumelden, gibt es immer einen Fehler
Warning: DB_LOCALE environment variable does not match locale of the database
bzw.
-23301 Unable to load locale categories
oder
-23197 Database locale information mismatch
Diesen Fehler bekommt man, wenn die Environment-Variable DB_LOCALE nicht der in der Datenbank hinterlegten Locale entspricht.
Um den Fehler zu beheben muß man die Variable DB_LOCALE auf den richtigen Wert setzen.
Wie ermittelt man die Locale dieser Datenbank?
Man kann die Locale einer Datenbank X ermitteln, indem man sich an der Datenbank sysmaster der Instanz anmeldet, z.B. mit dbaccess, und das folgende SQL-Statement ausführt:
select * from sysdbslocale where dbs_dbsname = „X“
Eine Ausgabe könnte dann so aussehen:
dbs_dbsname X dbs_collate de_DE.819
Die Zahl 819 ist eine IBM Kodierung der für ISO8859-1, die Werte und ihre Klartextnamen kann man nachschlagen in der Datei $INFORMIXDIR/gls/cm3/registry.