ORA-12162
エラーメッセージ
ORA-12162: TNS: 指定されたNetサービス名は正しくありません。 ORA-12162: TNS:net service name is incorrectly specified
基本的なエラーの内容
このエラーがでる場合は接続文字列(ネットサービス名)が設定されるべき場所に、適切に文字が入っていない場合に出力されます。
確認事項および対応
- SQL*Plusを使用して sqlplus username/password@net_service_name のように接続し、同様のエラーが出力されるかを確認してください。(発生しないはずです)
- なんらかのアプリケーションやプログラムで接続する場合に出力されているエラーと思われますので接続文字列に設定している変数などの値が正しく代入されているかを確認してください。
環境変数からSIDを代入する、などの処理を行っている場合は単純文字列としてtnsnames.ora内の接続文字列を代入するなどを行い、エラーが変化しないか確認してください。
詳細
通常、tnsnames.ora 内に接続文字列(ネットサービス名)が見つからない場合は
ORA-12154 TNS:指定された接続識別子を解決できませんでした
のエラーが出力されます。
ORA-12162のエラーは、ORA-12154と異なり tnsnames.ora の中に接続文字列が存在するかを確認するまでもなく、接続文字列の値が不適切である場合 (つまり接続文字列の値がNULLや空白、制御コードなどの場合)に発生すると思われます。
通常、なんらかのアプリケーションやプログラムで接続する場合に出力されるエラーと思われますので接続文字列に設定している変数などの値が正しく代入されているかを確認してください。
tnsnames.ora などのファイルを別環境からコピーすることが有効になる可能性はありますが、意味のないことも多いです。