博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
配置PL/SQL Developer连接Oracle数据库
阅读量:6160 次
发布时间:2019-06-21

本文共 2963 字,大约阅读时间需要 9 分钟。

准备:

  • 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

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

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

    

    主要设置: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: 无法解析指定的连接标识符

转载于:https://www.cnblogs.com/feiyujun/p/7765962.html

你可能感兴趣的文章
SQL Server查询死锁并KILL
查看>>
内存或磁盘空间不足,Microsoft Office Excel 无法再次打开或保存任何文档。 [问题点数:20分,结帖人wenyang2004]...
查看>>
委托到Lambda的进化: ()=> {} 这个lambda表达式就是一个无参数的委托及具体方法的组合体。...
查看>>
apache 伪静态 .htaccess
查看>>
unity3d 截屏
查看>>
ASP.NET MVC学习之控制器篇
查看>>
MongoDB ServerStatus返回信息
查看>>
分析jQuery源码时记录的一点感悟
查看>>
程序局部性原理感悟
查看>>
UIView 动画进阶
查看>>
Spring如何处理线程并发
查看>>
linux常用命令(用户篇)
查看>>
获取组件的方式(方法)
查看>>
win2008 server_R2 自动关机 解决
查看>>
我的友情链接
查看>>
在C#调用C++的DLL简析(二)—— 生成托管dll
查看>>
Linux macos 常用终端操作
查看>>
企业网络的管理思路
查看>>
Linux磁盘分区与挂载
查看>>
J2se学习笔记一
查看>>