Oracle JDBC シン ドライバー (11.2.0.2.0 の場合は ojdbc6.jar) と次の JDBC URL 構文を使用して、Oracle (11.2.0.2.0) データベースに接続しようとしています。
jdbc:oracle:thin:@abcd
「abcd」は、以下に示すように、tnsnames.ora ファイルで定義されています。
abcd, abcd.world, abcd.dk.xyz.com =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = abcd.dk.xyz.com)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = abcd)
)
)
Oracle® Database JDBC Developer's Guide and Reference-Doracle.net.tns_admin=/etc/tnsnames.ora
に従ってVM オプションを提供しました。
アプリケーションを実行すると、次のエラーが発生します。
Listener refused the connection with the following error:
ORA-12504, TNS:listener was not given the SID in CONNECT_DATA
しかし、エイリアス abcd.world と abcd.dk.xyz.com を tnsnames.ora から削除すると、アプリケーションはデータベースに接続できるようになります。
tnsnames.ora ファイルに複数のエイリアスがある場合、ojdbc ドライバーに問題はありますか?
私のJDKバージョンは1.6.0_31です。
ありがとう、VJ