ORA-12538;ORA-12154;使用PL/SQL dve无法连接远程服务器上的oracle数据库,同时本机上也安装了一个oracle数据库

时间:2022-09-04 17:42:31

问题描述:本人使用PL/SQL dve连接远程服务器上的oracle数据库,一直是没有问题的。我想提高下自己在数据库方面的能力就在自己的笔记本上安装了一个oracle数据库实例,安装并配置好之后,使用sql plus能够登录安装在本机上的数据库,但是使用PL/SQL dve无法连接本机数据库也无法连接远程数据库了,报错为:ora-12154和ora-12538

解决方法:

  1. 从百度经验上学习的:https://jingyan.baidu.com/article/ea24bc39a535d3da62b331c6.html
  2. 1、安装32位的Oracle客户端(instantclient-basic-win32-11.2.0.1.0.zip)

    解压instantclient-basic-win32-11.2.0.1.0.zip后文件夹名字为:instantclient_11_2。将其移至D盘新建的oracle目录下:

    D:\Oracle\instantclient_11_2

    拷贝服务器端数据库安装根目录下的$ORACLE_HOME/network/admin的tnsnames.ora到客户端D:\Oracle\instantclient_11_2\network\admin\tnsnames.ora(tnsnames.ora文件可以在服务器端利用netca的“本地NET网络服务名配置”得到)

    ORA-12538;ORA-12154;使用PL/SQL dve无法连接远程服务器上的oracle数据库,同时本机上也安装了一个oracle数据库
  3. 2

    安装PL/SQL Developer

    安装 PL/SQL Developer,在Tools->Perference->Connection里面设置OCI Library和Oracle_Home,例如本机设置为:

    Oracle Home :D:\Oracle\instantclient_11_2

    OCI Library :D:\Oracle\instantclient_11_2\oci.dll

  4. 3

    设置客户端windows环境变量(修改PATH和TNS_ADMIN环境变量)

    对于NLS_LANG环境变量, 最好设置成和数据库端一致, 首先从数据库端查询字符集信息:

    SQL> select userenv(‘language’) nls_lang from dual;

    NLS_LANG—————————————————-AMERICAN_AMERICA.ZHS16GBK

    右击”我的电脑” – “属性” – “高级” – “环境变量” – “系统环境变量”:

    1>.选择”Path” – 点击”编辑”, 把 “D:\Oracle\instantclient_11_2;” 加入;

    2>.点击”新建”, 变量名设置为”TNS_ADMIN”, 变量值设置为”D:\Oracle\instantclient_11_2;”, 点击”确定”;

    3>.点击”新建”, 变量名设置为”NLS_LANG”, 变量值设置为”AMERICAN_AMERICA.ZHS16GBK”, 点击”确定”(这一步我没有做);

    总结:

    1、没有在本机上安装oracle数据库之前的PL/SQL 是早配置好的,出了问题并不知道怎么解决,以后要多多学习,既要会用工具也要知道怎么安装配置工具

    2、系统性的学习某一方面的知识很有必要