配置PL/SQL Developer连接Oracle数据库

准备:

  • PL/SQL Developer:我用的是plsqldev1005(32位)
  • win32_11gR2_client:记住一定是32位的,因为PL/SQL Developer只认32位的

          安装成功后,需要配置环境变量:          

          TNS_ADMIN环境变量,类似于:C:appLzjproduct11.2.0client_1 etworkadmin。这个变量实际上是PL/SQL Developer寻找tnsnames.ora的依据。有了这个环境变量,PL/SQL Developer启动是会自动发现连接配置。

          NLS_LANG环境变量,值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK。这个值要与oracle服务器配置的一致,oracle服务器默认是:SIMPLIFIED CHINESE_CHINA.ZHS16GBK。

          Path环境变量,将Oracle client的主目录。类似于:C:appLzjproduct11.2.0client_1,进入path末尾。

1. 配置PL/SQL Developer

    启动时,登录选择取消,进入主界面。

    选择菜单:工具/首选项/连接,见下面界面。

    

    主要设置:Oracle 主目录名、OCI库

    Oracle 主目录名:就是安装的Oracle client的主目录。类似于:C:appLzjproduct11.2.0client_1,我这里是我安装客户端时自定义目录

    OCI库:Oracle Client的主目录下ock.dll文件。类似于:C:appLzjproduct11.2.0client_1oci.dll

    这里,有个问题,就是你明明设置好了,但下次启动,发现这两个配置没了。

    我不明白的是,Oracle Client安装成功后,两个配置为何不会自动发现。毕竟不手动填写是自动发现。

    需要配置三个环境变量,如果已配置过,则不用配置:

    TNS_ADMIN环境变量,类似于:C:appLzjproduct11.2.0client_1 etworkadmin。这个变量实际上是PL/SQL Developer寻找tnsnames.ora的依据。有了这个环境变量,PL/SQL Developer启动是会自动发现连接配置。

    NLS_LANG环境变量,值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK。这个值要与oracle服务器配置的一致,oracle服务器默认是:SIMPLIFIED CHINESE_CHINA.ZHS16GBK。

    Path环境变量,将Oracle client的主目录。类似于:C:appLzjproduct11.2.0client_1,进入path末尾。

    还需注意:

    Oracle Client安装成功后,注册表里的值。

    HKEY_LOCAL_MACHINESOFTWAREORACLEKEY_OraClient11g_home1,下ORACLE_HOME,值为:E:instantclient_11_2。这是我的自定义配额制连接Oracle Client路径。如果Oracle Client是默认安装,则类似于:C:appLzjproduct11.2.0client_1。这个就是Oracle Client主目录。可能没有KEY_OraClient11g_home1,我这个是在本机安装了Oracle数据库,如果没有则是只安装了Oracle Client。

2. 编辑tnsnames.ora文件

    这里要说明的是tnsnames.ora的位置,网上说的不一致。主要取决于TNS_ADMIN环境变量。我这里配置成:E:instantclient_11_2 etworkadmin。

    在tnsnames.ora文件所在位置的同一路径下,还需要:listener.ora、sqlnet.ora文件。

    我把oracle服务器自动生成的三个文件内容列在下面:

    listener.ora

    

# listener.ora Network Configuration File: E:instantclient_11_2
etworkadminlistener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = E:app

    sqlnet.ora

    

# sqlnet.ora Network Configuration File: E:instantclient_11_2
etworkadminsqlnet.ora
# Generated by Oracle configuration tools.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

    tnsnames.ora

    

# tnsnames.ora Network Configuration File: E:instantclient_11_2
etworkadmin	nsnames.ora
# Generated by Oracle configuration tools.

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))


ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
  

    可以在tnsnames.ora文件末尾加入自己的配置

    

xxxxx =
(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST =xxxxx)(PORT = 1521))
    (CONNECT_DATA =
    (SID = orcl)
      (SERVER = DEDICATED)
    )
  )

这里有个误区就是如果你的连接名(就是上面第一行的xxxxx),前面不能有任何字符,空格也不行。

否则PL/SQL Developer登录时会报:ORA-12154: TNS: 无法解析指定的连接标识符

原文地址:https://www.cnblogs.com/feiyujun/p/7765962.html