来自Jython的JDBC连接

时间:2016-11-29 20:11:42

标签: oracle jdbc jython wallet

我遇到了从Jython脚本调用的JDBC连接器的问题。

我想使用电子钱包连接到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
  • 我可以使用以下命令连接到我的Oracle服务器:sqlplus / @ myService

现在,如果我将这些属性添加到我的连接中:

walletProperties.put("user","oracle_user")
walletProperties.put("password","1234")
ods.setConnectionProperties(walletProperties)

连接正常..所以JDBC正确读取" myService"在tnsnames.ora。

我的感觉是该物业" oracle.net.wallet_location"没用过......

有人有解决这个谜语的线索吗?

非常感谢

0 个答案:

没有答案