Jython スクリプトから呼び出された JDBC コネクターで問題が発生しました。
Wallet を使用して Oracle サーバーに接続したいと考えています。これは接続部分です:
walletLocation=str(os.environ['HOME']+"./oracle")
System.setProperty("oracle.net.tns_admin", str(os.environ['TNS_ADMIN']))
System.setProperty("oracle.net.wallet_location", str("(SOURCE=(METHOD=file)(METHOD_DATA=(DIRECTORY="+walletLocation+")))"))
url = "jdbc:oracle:thin:/@myService";
ods = OracleDataSource()
ods.setURL(url)
ocon = ods.getConnection()
結果: java.sql.SQLException: ORA-01017: 無効なユーザー名/パスワード。ログオンが拒否されました
- TNS_ADMIN が設定され、tnsnames.ora に myService の定義が含まれています
- sqlnet.ora には WALLET_LOCATION が含まれています
- コマンド :sqlplus /@myService で Oracle サーバーに接続できます
これらのプロパティを接続に追加すると、次のようになります。
walletProperties.put("user","oracle_user")
walletProperties.put("password","1234")
ods.setConnectionProperties(walletProperties)
接続はOKです..そのため、JDBCはtnsnames.oraの「myService」を正しく読み取ります。
プロパティ「oracle.net.wallet_location」は使用されていないように感じます...
このなぞなぞを解決する手がかりを持っている人はいますか?
どうもありがとう