首页 > 代码库 > 解决PLSQL连接64位Oracle的问题
解决PLSQL连接64位Oracle的问题
由于现在的笔记本大都是64位的window7系统,然而PLSQL_Developer没有64位的,这造成了我们连接的麻烦,这里教大家怎么将win7_oracle11g_64位连接32位PLSQL_Developer。
我实践了很多次,但一直报错:
1、没有数据库实例
2、没有正确安装32位客户端
3、适配器错误
我的工具:
已经装好的64位Oracle数据库
window7_64位的操作系统
PLSQL_Developer 9.0以上版本(目前只有32位的)
官方的 instantclient-basic-win32-11.2.0.1.0 文件(这是32位的Oracle客户端)--可到官方网站去下载相应版本,但一定得是基本版的!!
安装你下载的PLSQL_Developer并点击汉化文件进行汉化。
安装好打开你会发现你的PLSQL_Developer不能正常连接到数据库,没有数据库的初始化内容,如图所示:请将你下载的instantclient-basic-win32-11.2.0.3.0 文件解压。然后复制到你的数据库安装的文件夹下的product的文件夹下,我的是:
F:\app\admin\product\instantclient_11_2。
然后找到Oracle11g中的两个文件listener.ora和tnsnames.ora我的在F:\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN里面。都复制到F:\app\admin\product\instantclient_11_2的下面。
然后找到你的PLSQL_Developer安装的目录,我的是:
F:\PLSQL_Developer
在里面新建一个记事本,写入以下类似代码:
@echo off
set path=F:\app\admin\product\instantclient_11_2
set ORACLE_HOME=F:\app\admin\product\instantclient_11_2
set TNS_ADMIN=F:\app\admin\product\instantclient_11_2
set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
start plsqldev.exe
若是中文编码,则设置为NLS_LANG=SIMPLEFIED CHINESE_CHINA.AHS16GBK
写好后,将你的记事本名称改为start.bat然后点击运行。
打开PLSQL_Developer后,取消登陆,进入主界面。
1.点击--工具--首选项--连接:
2.把上面的注销改为提交
3.OCI库改为带有instantclient_11_2的路径。
4.应用--确定--关闭PLSQL_Developer重新运行。
检查连接选中,
oracle主目录名:F:\app\admin\product\instantclient_11_2,
OCI库:F:\app\admin\product\instantclient_11_2\oci.dll
设置完成之后点击应用即可。没配置对,会报以下错误:
若此时仍有问题,可以进一步进行配置:系统环境变量
右击我的电脑--电脑属性--高级系统设置--环境变量。
NLS_LANG(没有的话新建一个,有的话点击--编辑)。
将它的变量值改为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
然后点击--确定。
TNS_ADMIN:oracle根目录\product\11.2.0\dbhome_1\NETWORK\ADMINoracle_sid:orcl
此时,仍然报错--报ORA-12560:TNS:协议适配器错误
注意:检查文件listener.ora和tnsnames.ora,需要改变的是客户端里的--即instantclient_11_2下的,但是不能改动Oracle里的这2个文件
Oracle里的HOST=localhost,而32位客户端下的文件里的HOST=XXXX(自己的主机名)
注意:版本要一致--即Oracle的版本与32位客户端的版本要一致,我的是11.2.0.1.0版本
解决PLSQL连接64位Oracle的问题