32位PLSQL Developer连接64位Oracle,Navicat连接Oracle

因为某些PLSQL Developer只有32位版本,所以连接不上64位Oracle,Navicat连接时,会提示ORA-28547的错误。

这时,需要下载instantclient-basic,来解决连接问题。

一、32位PLSQL Developer连接64位Oracle

1.下载解压instantclient-basic。

下载地址(可能因为Oracle官网调整失效):https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html。官网下载麻烦的话,百度一哈找一个更方便。注意:下载适合主机(自己计算机)版本的instantclient-basic。

解压instantclient-basic到文件夹,为了管理方便,将该文件夹复制到Oracle安装路径的product目录下(其他路径亦可),如下图。我的Oracle安装路径为D:\app\jk\product\instantclient_10_2 注:jk为我的用户名。

32位PLSQL Developer连接64位Oracle,Navicat连接Oracle

2.PLSQL Developer配置主目录名和OCI库

将Oracle安装路径D:\app\jk\product\11.2.0\dbhome_1\NETWORK\ADMIN下的tnsnames.ora复制到刚才的instantclient_11_2下。

PLSQL Developer,Tools(工具)→ perference(首选项)→Connection(连接),将Oracle Home配置为D:\app\jk\product\instantclient_10_2,OCI Library配置为D:\app\jk\product\instantclient_10_2\oci.dll,如下。

32位PLSQL Developer连接64位Oracle,Navicat连接Oracle

然后关闭PLSQL Developer。

3.配置系统环境变量

我的电脑→属性→高级→环境变量→系统变量
3.1编辑Path(Path大小写不敏感), 加入“D:\app\jk\product\instantclient_11_2;” 注意:每个变量之间用分号分隔。
3.2新建变量名TNS_ADMIN, 值为“D:\app\jk\product\instantclient_11_2”。
3.3新建变量名NLS_LANG, 值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,注:该语言环境变量不是必要的。

不要直接叉掉对话框,必须点击确定→确定

4.重新启动PLSQL Developer,自动检测到数据库ORCL。可以用system用户以Normal连接数据库。

32位PLSQL Developer连接64位Oracle,Navicat连接Oracle

二、Navicat连接(64位)Oracle

Navicat连接时,提示如下错误。

32位PLSQL Developer连接64位Oracle,Navicat连接Oracle

工具→选项→其他→OCI,发现OCI选的是Navicat自带的。

可能户你想到换为新下载解压的instantclient_10_2下的oci试试,本例为“D:\app\jk\product\instantclient_10_2\oci.dll”。

重新启动,又可能报如下错。

32位PLSQL Developer连接64位Oracle,Navicat连接Oracle

继续尝试Oracle自带的oci.dll,配置为“D:\app\jk\product\11.2.0\dbhome_1\bin\oci.dll”,如下图。

32位PLSQL Developer连接64位Oracle,Navicat连接Oracle

重新启动,测试连接成功,如下图。

32位PLSQL Developer连接64位Oracle,Navicat连接Oracle