我遇到了从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:用户名/密码无效;登录被拒绝
现在,如果我将这些属性添加到我的连接中:
walletProperties.put("user","oracle_user")
walletProperties.put("password","1234")
ods.setConnectionProperties(walletProperties)
连接正常..所以JDBC正确读取" myService"在tnsnames.ora。
我的感觉是该物业" oracle.net.wallet_location"没用过......
有人有解决这个谜语的线索吗?
非常感谢