繁体   English   中英

java.sql.SQLException:[tibcosoftwareinc] [Oracle JDBC驱动程序] [Oracle] ORA-28040:没有匹配的身份验证协议

[英]java.sql.SQLException: [tibcosoftwareinc][Oracle JDBC Driver][Oracle]ORA-28040: No matching authentication protocol

尝试连接oracle 12c时出现上述错误。 我尝试使用ojdbc6和ojdbc7 jar文件。 我发现以下评论

------------------->

错误14575666

在12.1中,SQLNET.ALLOWED_LOGON_VERSION参数的默认值已更新为11。这意味着,除非将SQLNET.ALLOWED_LOGON_VERSION参数设置为旧的默认值8,否则使用11g之前的JDBC瘦驱动程序的数据库客户端无法对12.1数据库服务器进行身份验证。

这将导致使用DBCA的10.2.0.5 Oracle RAC数据库创建失败,并出现ORA-28040:在12.1 Oracle ASM和Oracle Grid Infrastructure环境中没有匹配的身份验证协议错误。

解决方法:在oracle / network / admin / sqlnet.ora文件中设置SQLNET.ALLOWED_LOGON_VERSION = 8。

<-------------------

由于共享数据库,我只有一个实现上述解决方案的方法。

如果我在oracle / network / admin / sqlnet.ora文件中设置SQLNET.ALLOWED_LOGON_VERSION = 8,会影响其他用户吗?

它会影响共享应用程序及其功能吗?

在sqlnet.ora中设置SQLNET.ALLOWED_LOGON_VERSION = 8会影响到服务器的所有连接。 您允许使用较旧版本的密码验证程序进行用户身份验证,这会影响所有用户。 您不能只允许一个用户使用它。 但这不会破坏其他可以成功连接的应用程序。 它将允许较旧的应用程序(使用旧的驱动程序)也进行连接。 最好的解决方案是,如果可能的话,升级所有客户端,但是此设置是解决方法,并且可以用于此特定目的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM