zoukankan      html  css  js  c++  java
  • 关于PLSQL配置了正确的Oracle客户端但是不能识别tnsnames.ora问题

    场景描述:

         在通过安装Oracle客户端使用PLSQL的时候发现PLSQL在已经正常配置了Oracle Home和Ocdi library的情况下不能识别tnsnames.ora中的有效配置。

    正常安装Oracle客户端效果:

     

     PLSQL中关于Oracle Home和Ocdi library的配置:

    我的Oracle客户端安装位置在:C:Usersdushangkuisoftoracleinstantclient_12_2

    但是中有合法的配置

    LOCALMYDB =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.15.20)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )

    刚刚在登录框中并不能被展示出来。现在我们来查一下原因。

    第一步,通过PLSQL的Help菜单下的Support info菜单查看PLSQL加载的配置信息:

    SOFTWAREORACLE
      ORACLE_HOME = C:Program Files (x86)OracleInstant Client
      ORACLE_HOME_NAME = OraInstantClient11g
      NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
      NLS_DATE_FORMAT = YYYY-MM-DD
      NLS_TIMESTAMP_FORMAT = YYYY-MM-DD HH24:MI:SS:FF6
      NLS_TIMESTAMP_TZ_FORMAT = YYYY-MM-DD HH:MI:SS.FF TZH:TZM
      TNS_ADMIN = C:Program Files (x86)OracleInstant Client
    etworkadmin
     
      SOFTWAREORACLEKEY_OraInstantClient11g
        ORACLE_HOME = C:Program Files (x86)OracleInstant Client
        ORACLE_HOME_KEY = SOFTWAREWow6432NodeOracleKEY_OraInstantClient11g
        ORACLE_HOME_NAME = OraInstantClient11g
        ORACLE_BASE = C:Program Files (x86)OracleInstant Client
        ORACLE_BUNDLE_NAME = Enterprise
        ORACLE_GROUP_NAME = Oracle - OraInstantClient11g
        NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
        NLS_DATE_FORMAT = YYYY-MM-DD
        NLS_TIMESTAMP_FORMAT = YYYY-MM-DD HH24:MI:SS:FF6
        NLS_TIMESTAMP_TZ_FORMAT = YYYY-MM-DD HH:MI:SS.FF TZH:TZM
        TNS_ADMIN = C:Program Files (x86)OracleInstant Client
    etworkadmin

    我们可以看到ORACLE_HOME和ORACLE_BASETNS_ADMIN均不是我们刚刚配置的位置。
    第二步,查看注册表:ORACLE_HOME_KEY = SOFTWAREWow6432NodeOracleKEY_OraInstantClient11g我们看到上面的这行影响了配置

    我们发现配置表里面多了这些东西:

    经过确认,这是上次安装删除后的残留配置,我们把它删除掉。

    然后我们再看PLSQL的help -> Support Info ->TNS Names

     

     我们可以看到,出现了正常的TNS配置。

  • 相关阅读:
    c++ socket发送数据时,sendData = char * string 导致的乱码问题
    c++ sprintf() 用法
    c++ 将float 类型转换成string 类型
    c++中 string类型 转为 char []类型
    c++ 去掉所有空格及换行符
    c++处理字符串string.find()与string::npos
    C1010 unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source
    C++ socket bind() 函数绑定错误
    windows 全局安装 composer
    VMware Tools (ubuntu系统)安装详细过程与使用
  • 原文地址:https://www.cnblogs.com/jijm123/p/11950512.html
Copyright © 2011-2022 走看看