ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

SQLPlusでの表示上の文字化け対策が原因で接続できない現象が発生しました

文字化け対策するとローカルの環境につながらなくなるとは予想外でした。
f:id:AJYA:20141022053428j:plain
photo credit: Håkan Dahlström via photopin cc
データベースにオラクルを使っているお客さんの環境につながるサーバーに、自社のテスト環境が構築されています。
そのサーバーにオラクルもインストールされています。

文字化け対策

お客さんの環境には、SQLPlusで接続していますが、シングルバイト以外は文字化けが発生します。
コマンドプロンプトを開く前に、Windowsのシステム環境変数を変更して対処しています。
変更しているのは、NLS_LANGで、
変更前
Japanese_Japan.AL32UTF8

変更後
Japanese_Japan.AL16SJIS
としています。

自社環境に接続できない

上記の変更をして、自社のテスト環境のオラクルに接続すると、

ORA-12514: TNS: リスナーは接続記述子で要求されたサービスを現在認識していません

と表示され、接続できません。

調べてみても原因がわからず、Windowsのシステム環境変数を元に戻してみました。
コマンドプロンプトを開くとことからやり直して、自社のテスト環境のオラクルに接続すると、接続できました。
システム環境変数を変更したのが、原因だったようです。


退職者が構築したシステムなので、手探り状態です。
文字化けしたまま構築していたのかもわかりません。
文字化けしたままでは使いにくくて仕方がないので、SQLPlusに代わるクライアントアプリを入れたほうがいいのかもしれません。