• PLSQL Developer 不能连接 oracle 11g 64位 的解决办法


    前言:

      plsql developer无法连接oracle server64bit分为两种情况。第一种情况是在oracle server 64bit的数据库服务器上安装plsql,第二种情况是在另外的机器上安装plsql developer连接oracle server 64bit数据库服务器。

    错误症状:

          Initialization error     
          SQL*Net not properly installed
          OracleHomeKey:       
          OracleHomeDir:

    原因:

      oracle client是64位的,而plsql是32位的,两者不兼容

    第一种情况解决办法1:

      下载跟oracle服务器同版本的instantclient,然后配置PLSQL即可。在perference->Connection里面设置OCI Library和Oracle_Home,例如本机设置为:

    Oracle Home : D:apporacleproduct11.2.0instantclient_11_2
    OCI Library :D:apporacleproduct11.2.0instantclient_11_2oci.dll

     像其他的navicat连接oracle server 64bit也是需要现在这个instantclient,然后指定oci.dll。可以参考博客:Navicat Premium 连接 Oracle 数据库

    注意:(2014-7-17)

    如果使用上面的这种方法的话,那么PLSQL读取的配置文件也是instantclient_11_2目录下的配置文件,比如我的配置文件路径就是

    D:apporacleproduct11.2.0instantclient_11_2NETWORKADMIN

    此时使用oracle server 64bit自带的net configuration assistant以及net manager是没有用的。不过可以在net configuration assistant当中配置,然后将配置好的配置文件覆盖到instantclient_11_2目录下

    比如我可以将D:apporacleproduct11.2.0dbhome_1NETWORKADMIN当中的三个配置文件(listener.ora、sqlnet.ora、tnsnames.ora)覆盖到D:apporacleproduct11.2.0instantclient_11_2NETWORKADMIN当中

    第一种情况解决办法2:

      在安装oracle server 64bit以后,再安装oracle_client_32bit,然后在配置上有一下注意点:

    1. oracle server 64bit配置监听器listener和数据库连接名testdb
    2. oracle_client_32bit不要配置监听器,只配置数据库连接名testdb

     然后安装plsql,连接testdb,正常连接。

    第二种情况解决方法

      安装oracle_client_32bit,创建数据库连接,安装plsql developer,这样就能够正常连接。

     TNS_ADMIN的设定

     这个环境变量是用来设定到底使用那个tns配置文件的。因为我们在一台机器上面安装oracle server 64bit和oracle client 32bit,那么就会有两个tns的配置文件,两个配置文件放在一下目录:

    1. D:apporacleproduct11.2.0dbhome_1NETWORKADMIN
    2. D:apporacleproduct11.2.0client_1NETWORKADMIN

    如果不设定TNS_ADMIN,那么默认使用client_1的tns

    如果设定环境TNS_ADMIN=D:apporacleproduct11.2.0dbhome_1NETWORKADMIN,那么上面的路径会发生改变。

  • 相关阅读:
    test
    flash链接需要后台调用时的插入flash方法
    js验证码倒计时
    设置Cookie
    用in判断input中的placeholder属性是否在这个对象里
    常用的正则表达式规则
    webApp添加到iOS桌面
    .substr()在字符串每个字母前面加上一个1
    PAT 甲级1001 A+B Format (20)(C++ -思路)
    PAT 1012 数字分类 (20)(代码+测试点)
  • 原文地址:https://www.cnblogs.com/xwdreamer/p/3649993.html
Copyright © 2020-2023  润新知