Navicat连接Oracle报错: ORA-28040 No matching authentication protocol

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进行通信的.

点击选工具菜单 -> 选项

左侧最下面一行 环境 -> 右侧OCI环境, 默认的配置为Navicat自带的oci.dll

重新选择, 可以看到Navicat自带的instant client版本为10_2. 下载一个最新版本的Oracle instant client, 并选择里面的oci.dll文件即可. 配置完成后需要重启Navicat才会生效

扫描二维码关注公众号,回复: 8503857 查看本文章

附上Oracle官方Instant Client介绍及下载地址: 截至这篇文章的时候最新版本为18.3
https://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index-4369172.html

下载页面首先需要同意许可. 另外页面中包含多个下载链接, 请注意区分, 不要下载错了. 例如第2个只是SQL Plus工具, 并不包含我们需要的oci.dll. 相反地, 这个工具也需要oci.dll才能运行. 第1个才是我们需要的Instant Client. 下载后解压, 就可以找到oci.dll文件了

发布了8 篇原创文章 · 获赞 62 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/wanghailong_qd/article/details/85887825