java.sql.SQLException: ORA-28040: 没有匹配的验证协议(12c或者12c rac)

1.plsql可以连接,java程序不能连接,报如下错误:

    一直以来用的都是服务器上的Oracle数据库,今天改成连接本地Oracle 12c数据库是出问题了。hibernate连接Oracle12c时出现

     java.sql.SQLException: ORA-28040: 没有匹配的验证协议。
通过查找资料找到了好的解决方案。不需要像网友所说的到官网上下载新的驱动来解决问题。
解决方案:
     在Oracle的安装路径下找到sqlnet.ora文件。(我的安装路径F:app oot ootproduct12.1.0dbhome_1NETWORKADMIN)
 在文件的最后添加SQLNET.ALLOWED_LOGON_VERSION=8就完美解决了;如图:

2.修改程序中连接的url:

打码的部分是ip和实例名

  

另外一种办法直接升级驱动包,替换成ojdb6.jar或者ojdb7.jar,简单高效!!!!!!!!!!!!!!!!!!!!!!

原文地址:https://www.cnblogs.com/wangzhuxing/p/5730882.html