小口 (2010年12月 7日 09:00) 流通システム部
以前業務でoracle11gをインストールしてデータベースに接続したところ、以下のエラーが発生しました。
「ORA-12154: TNS: 指定された接続識別子を解決できませんでした」
インストール後に設定を変更したのはtnsnames.oraのみでしたので、原因はこの部分にある可能性が高いのですが、記述内容(ポート番号、ホスト名など)は間違っていませんでした。
tnsnames.oraは以下のように記述していました。
-----------tnsnames.ora記述例ここから---------------
任意の名前 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = oracle11g)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = サービス名)))
-----------tnsnames.ora記述例ここまで---------------
調べたところ、内容ではなく記述の仕方に問題があったことがわかりました。Oracle11gの場合、行の先頭にスペースがないとこのエラーが表示されるとのことでした。
以下のように行の先頭にスペースを入れて正しくインデントを設定したところ、データベースに接続することができました。
任意の名前 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle11g)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = サービス名) )
)
tnsnames.oraの記述の際は注意が必要です。
tnsnames.ora記述の際の注意
小口 (2010年12月 7日 09:00)
流通システム部
以前業務でoracle11gをインストールしてデータベースに接続したところ、
以下のエラーが発生しました。
「ORA-12154: TNS: 指定された接続識別子を解決できませんでした」
インストール後に設定を変更したのはtnsnames.oraのみでしたので、
原因はこの部分にある可能性が高いのですが、
記述内容(ポート番号、ホスト名など)は間違っていませんでした。
tnsnames.oraは以下のように記述していました。
-----------tnsnames.ora記述例ここから---------------
任意の名前 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle11g)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = サービス名)
)
)
-----------tnsnames.ora記述例ここまで---------------
調べたところ、内容ではなく記述の仕方に問題があったことがわかりました。
Oracle11gの場合、行の先頭にスペースがないとこのエラーが表示されるとのことでした。
以下のように行の先頭にスペースを入れて正しくインデントを設定したところ、
データベースに接続することができました。
-----------tnsnames.ora記述例ここから---------------
任意の名前 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle11g)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = サービス名)
)
)
-----------tnsnames.ora記述例ここまで---------------
tnsnames.oraの記述の際は注意が必要です。