32位PL/SQL连接64位oracle
由于32位操作系统对内存的限制,所以很多数据库都搭建在64位操作系统中,但是PL/SQL没有提供64位版本的,用32位的PL/SQL连接64位的oracle会报Found:oci.dllreturned 0,主要解决oci.dll这个文件就可以连接上。
1下载32位oracle客户端
下载客户端组件就可以,不要下载64的,可以在oracle官网下载,也可以第三方下载,下载之后进行安装。
安装路径例如; D:\ProgramFiles\instantclient
2复制tnsnames,ora文件
把64位oracle的tnsnames,ora文件复制到安装的32位oracle客户端中的根目录,然后编辑该文件进行要连接数据库的相关配置。
64位oracle的tnsnames,ora文件位置:
E:\Oracle\product\11.2.\dbhome_1\network\admin\tnsnames.ora
3安装PL/SQL
安装PL/SQL到电脑,不要在C盘下,安装路径不要出现非法字符。
4更改配置
安装好之后以非登录模式打开PL/SQL,点击Tools-Preferences设置PLSQL Developer中设置Oracle_Home和OCI Library,改为32位oracle客户端的路径
我的电脑-属性”-高级-环境变量,新建环境变量
NLS_LANG:AMERICAN_AMERICA.ZHS16GBK;
TNS_ADMIN:D:\ProgramFiles\instantclient
或者
在PLSQL Developer目录下创建bat文件,作为PLSQL Developer的启动快捷方式替换PLSQL Developer传统启动方式,bat文件中的内容如下:
@echo off
@echooff
setpath=D:\ProgramFiles\instantclient
setORACLE_HOME=D:\ProgramFiles\instantclient
setTNS_ADMIN=D:\ProgramFiles\instantclient
setNLS_LANG=AMERICAN_AMERICA.AL32UTF8
startplsqldev.exe
两种方法都可以连接到64位客户端。