Java jdbc kerberos oracle身份验证问题
我在尝试使用kerberos身份验证连接到oracle时遇到了一个问题。 之前报告过类似的问题,但在我的案例中,异常跟踪不同-Java jdbc kerberos oracle身份验证问题,java,oracle,jdbc,kerberos,ojdbc,Java,Oracle,Jdbc,Kerberos,Ojdbc,我在尝试使用kerberos身份验证连接到oracle时遇到了一个问题。 之前报告过类似的问题,但在我的案例中,异常跟踪不同- 代码参考以下oracle文档(connectWithDefaultUser()) 异常跟踪是- 线程“main”java.lang.NoSuchMethodError中出现异常:sun.security.krb5.EncryptedData.reset([BZ)[B] 位于oracle.net.ano.AuthenticationService.a(未知源) 在or
代码参考以下oracle文档(connectWithDefaultUser())
异常跟踪是-
线程“main”java.lang.NoSuchMethodError中出现异常:sun.security.krb5.EncryptedData.reset([BZ)[B]
位于oracle.net.ano.AuthenticationService.a(未知源)
在oracle.net.ano.AuthenticationService.run上运行(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于javax.security.auth.Subject.doAs(Subject.java:422)
位于oracle.net.ano.AuthenticationService.h(未知源)
在oracle.net.ano.ano.negotiation上(未知来源)
位于oracle.net.ns.NSProtocol.connect(NSProtocol.java:439)
位于oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1102)
位于oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:320)
位于oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:546)
位于oracle.jdbc.driver.T4CConnection(T4CConnection.java:236)
位于oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
位于oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
位于java.sql.DriverManager.getConnection(DriverManager.java:664)
位于java.sql.DriverManager.getConnection(DriverManager.java:208)
我猜身份验证是成功的,但服务器端或kerberos设置中缺少某些内容。
我正在使用jdk1.8和ojdbc6
感谢您的帮助!根据@Karthikeyan的评论,将ojdbc升级到版本8解决了这个问题,尽管我不清楚在没有升级的情况下它如何在windows环境下工作,如果有人能解释一下,那就太好了:)
目前,它还可以正常工作。如果您使用的是Java 8,那么您应该使用ojdbc8。谢谢@KarthikeyanVaithilingam,我同意您的建议,但是相同的代码在windows环境中使用相同的配置很好,而不是在linux上,这是我无法理解的原因。