尝试使用kerberos身份验证连接到oracle时遇到问题。
先前曾报道过类似的问题,但在我的情况下,异常跟踪有所不同-
jdbc kerberos oracle authentication
代码从下面的oracle文档中引用(connectWithDefaultUser())
https://docs.oracle.com/cd/B28359_01/java.111/b31224/clntsec.htm#CIHCIDHF
异常跟踪为-
Exception in thread "main" java.lang.NoSuchMethodError: sun.security.krb5.EncryptedData.reset([BZ)[B
at oracle.net.ano.AuthenticationService.a(Unknown Source)
at oracle.net.ano.AuthenticationService.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at oracle.net.ano.AuthenticationService.h(Unknown Source)
at oracle.net.ano.Ano.negotiation(Unknown Source)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:439)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1102)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:320)
at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:546)
at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:236)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
我猜想身份验证是成功的,但是服务器端或kerberos设置中缺少一些东西。
我正在使用 jdk1.8 和 ojdbc6
感谢您的帮助!
答案 0 :(得分:0)
根据@Karthikeyan的评论,将ojdbc升级到版本8可以解决该问题,尽管我不清楚在不进行升级的情况下它如何在Windows环境下工作,如果有人可以对此有所了解,那就太好了:) < / p>
现在它可以正常工作。