2

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」は使用されていないように感じます...

このなぞなぞを解決する手がかりを持っている人はいますか?

どうもありがとう

4

0 に答える 0