https://blog.csdn.net/wanghailong_qd/article/details/85887825
Navicat版本为12.0.29, Oracle数据库版本为12c. 新建一个数据库连接, 填写完主机, 服务, 用户名, 密码等信息后点击测试连接报错: ORA-28040 No matching authentication protocol.
错误原因就是oci.dll版本不匹配, 通常是过低, 即低版本的oci.dll连接高版本Oracle. 解决办法就是将oci.dll更换为高版本.
oci, racle call interface. 以动态链接库(dll, Dynamic Link Library)方式实现的Oracle访问接口. 而在java开发中常用的ojdbc.jar, 则是纯java实现, 以java socket进行通信的.
点击选工具菜单 -> 选项
重新选择, 可以看到Navicat自带的instant client版本为10_2. 下载一个最新版本的Oracle instant client, 并选择里面的oci.dll文件即可. 配置完成后需要重启Navicat才会生效
官网下载后,解压,然后配置如下:
C:\Program Files\PremiumSoft\Navicat Premium\instantclient_18_5
即可
下载地址:
https://www.oracle.com/database/technologies/instant-client/downloads.html
我的是window 64的。 点击进去,选择版本,选18的(往下滚就看到了)