时间:2021-08-25 08:02:29 | 栏目:Oracle | 点击:次
本文使用的软件版本为:
在安装完 Navicat 之后,创建 Oracle 数据库连接,但发现无法连接到数据库:
出现上述错误的原因,可能是 Navicat 自带的 Oracle Instant Client 与我们要连接的 Oracle 数据库版本不匹配导致的。
点击 Navicat 菜单栏的 Tools
→ Options...
→ Miscellaneous
→ OCI
,通过 OCI library (oci.dll) * 可知当前 Navicat 所使用的 Instant Client 版本:
查看 Navicat 的安装目录,我们会发现 Navicat Premium 11.0.18 自带的 Instant Client 版本为 10.2:
我们再来查看下所要连接的 Oracle 数据库版本:
到此为止,我们知道了目前我们所使用的 Oracle 版本和 Instant Client 版本,接下来我们来检查下他们两个版本是否匹配。
打开Oracle Instant Client 官网:
点击 Downloads,打开 Instant Client 下载页:
因为我使用的是 64 位操作系统,故选择 Instant Client for Microsoft Windows (x64):
因为我们肯定是要下载 Instant Client 的,故在此先勾选接受许可协议(Accept License Agreement)。
并且通过本页面,我们知道了 Instant Client 18.3 版本可以连接到 Oracle 11.2 及以后的版本(第二个红框处),但我们先忽略这里,直接来到该页底部:
我们发现 18.3 和 12.2 版本的 Instant Client 都是可以连接 Oracle 11.2 的(我们所要连接的 Oracle 版本),并且 18.3 和 12.2 版本的 Instant Client 还需要 Visual Studio 2013 redistributable 才可运行,故我们分别下载这两个软件。
这里我下载的是 Instant Client 12.2:
然后,下载Visual Studio 2013 (VC++ 12.0):
我们可以将 instantclient-basic-windows.x64-12.2.0.1.0.zip 解压至任意目录,比如 C:\Portable\instantclient_12_2
,然后在 Navicat 中配置此版本的 OCI:
配置完 OCI 后,需要重启 Navicat,然后再次连接 Oracle 数据库:
这时,我们发现 Navicat 又报错了,提示 Cannot load OCI DLL, 126…。
这是因为环境中缺少 Visual Studio 2013 redistributable 所致的。
安装 Visual Studio 2013 redistributable:
到此为止,我们即可使用 Navicat 正确连接到 Oracle 数据库了。