解决PLSQL连接64位Oracle的问题

由于现在的笔记本大都是64位的window7系统,然而PLSQL_Developer没有64位的,这造成了我们连接的麻烦,这里教大家怎么将win7_oracle11g_64位连接32位PLSQL_Developer。

我实践了很多次,但一直报错:

1、没有数据库实例

2、没有正确安装32位客户端

3、适配器错误

我的工具:

  • 1.已经装好的64位Oracle数据库

  • 2.window7_64位的操作系统

  • 3.PLSQL_Developer 9.0以上版本(目前只有32位的)

  • 4.官方的 instantclient-basic-win32-11.2.0.1.0 文件(这是32位的Oracle客户端)--可到官方网站去下载相应版本,但一定得是基 本版的!!

    • 安装你下载的PLSQL_Developer并点击汉化文件进行汉化。
      安装好打开你会发现你的PLSQL_Developer不能正常连接到数据库,没有数据库的初始化内容,如图所示:

    • 解决PLSQL连接64位Oracle的问题_第1张图片   

    • 一、请将你下载的instantclient-basic-win32-11.2.0.3.0 文件解压。然后复制到你的数据库安装的文件夹下的product的文件夹下,我的是:

      F:\app\admin\product\instantclient_11_2。

                                                                                                        

  • 解决PLSQL连接64位Oracle的问题_第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

    解决PLSQL连接64位Oracle的问题_第3张图片

若是中文编码,则设置为NLS_LANG=SIMPLEFIED CHINESE_CHINA.AHS16GBK

写好后,将你的记事本名称改为start.bat然后点击运行。

四、打开PLSQL_Developer后,取消登陆,进入主界面。

1.点击--工具--首选项--连接:

2.把上面的注销改为提交

3.OCI库改为带有instantclient_11_2的路径。

4.应用--确定--关闭PLSQL_Developer重新运行。

解决PLSQL连接64位Oracle的问题_第4张图片

检查连接选中,

oracle主目录名:F:\app\admin\product\instantclient_11_2

OCI库:F:\app\admin\product\instantclient_11_2\oci.dll

设置完成之后点击应用即可。没配置对,会报以下错误:

解决PLSQL连接64位Oracle的问题_第5张图片

若此时仍有问题,可以进一步进行配置:系统环境变量

右击我的电脑--电脑属性--高级系统设置--环境变量。

NLS_LANG(没有的话新建一个,有的话点击--编辑)。

将它的变量值改为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

然后点击--确定。

TNS_ADMIN:oracle根目录\product\11.2.0\dbhome_1\NETWORK\ADMIN

oracle_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的问题_第6张图片


解决PLSQL连接64位Oracle的问题_第7张图片

最后,重启PLSQL。

若还有问题,则需检查一下Oracle的安装配置,如图:

解决PLSQL连接64位Oracle的问题_第8张图片选择Net Configuration Assistant进行配置

解决PLSQL连接64位Oracle的问题_第9张图片

    可以对“监听程序配置”、“命名方法配置”、“本地网络服务名配置”这3个选项都进行一番配置,这样,应该能解决很多出错的问题。

你可能感兴趣的:(Oracle,PLSQL)