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

准备:

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

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

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

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

Path环境变量,将Oracle client的主目录。类似于:C:\app\Lzj\product\11.2.0\client_1,进入path末尾。

1. 配置PL/SQL Developer

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

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

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

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

Oracle 主目录名:就是安装的Oracle client的主目录。类似于:C:\app\Lzj\product\11.2.0\client_1,我这里是我安装客户端时自定义目录

OCI库:Oracle Client的主目录下ock.dll文件。类似于:C:\app\Lzj\product\11.2.0\client_1\oci.dll

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

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

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

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

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

Path环境变量,将Oracle client的主目录。类似于:C:\app\Lzj\product\11.2.0\client_1,进入path末尾。

还需注意:

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

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

2. 编辑tnsnames.ora文件

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

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

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

listener.ora

# listener.ora Network Configuration File: E:\instantclient_11_2\network\admin\listener.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\network\admin\sqlnet.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\network\admin\tnsnames.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: 无法解析指定的连接标识符

上一篇:如何配置pl/sql 连接远程oracle服务器


下一篇:android 开发:shape和selector和layer-list的(详细说明)