oninitとGLS Locale

oninit

2006年03月17日 19:53

今日、評価のために Informix dynamic server 10.0.fc4 をセットアップしていて気づいたことがあります。

oninit を起動する時に、DB_LOCALE に何か設定してあると、そのインスタンスに別セッションから接続するときに、CLIENT_LOCALE などに何か設定しておかないと、エラーになります。

たとえば、

サーバー側で、
% setenv DB_LOCALE ja_jp.ujis
% oninit -ivy    ( ここでは初期化してますが、oninit だけ、すなわち毎度の起動時でも同じ )
した後で、別の端末で、
 % unsetenv CLIENT_LOCALE
% unsetenv DB_LOCALE
% unsetenv DBLANG
% unsetenv SERVER_LOCALE
 % dbaccesss
で、dbaccess を起動し、Query メニューを選択(本来ならデータベースの一覧が表示される)
すると、
23101: Unable to load locale categories.
というエラーが表示されます。
dbaccess を終了させ、
 % setenv CLIENT_LOCALE en_us.8859-1
してから、改めて dbaccess を動かすと、今度はきちんと一覧が表示されます。

あれ?と思って、今度は oninit を起動する前に unsetenv DB_LOCALE しておくと、dbaccesを起動する前に CLIENT_LOCALE が設定されていなくても一覧が表示されます。

以上、困りはしませんでしたが、ちょっと不思議な現象のお話でした。。

関連記事