PL\SQL Developer配置注意事项,及不显示查询结果问题

网上已经有很多配置PL\SQL Developer的教程了,但是很多是比较早的教程了,并且软件版本也计较旧了。今天我来讲一下安装最新版本的过程和遇到的一些问题。
首先,我的环境如下:
个人PC OS:Win 7 64位
ORACLE 版本:
12.1.0.2.0 64位的版本
PL\SQL Developer配置注意事项,及不显示查询结果问题_第1张图片

  1. 在PL\SQL Developer官网,下载最新的64位版本,我下载的是13的版本。
    PL\SQL Developer配置注意事项,及不显示查询结果问题_第2张图片
  2. 在ORACLE 官网,下载 instance client文件。
    官网地址如下:https://www.oracle.com/database/technologies/instant-client/downloads.html
    官网里有很多版本的instance client, 这里,一定要下载与你的ORALCE数据库版本一致的。
    官网提供两种,basic和light两个包,light是轻量级的,我没有测试过。这里我们下载basic的。
    我下载的是instantclient-basic-windows.x64-12.1.0.2.0.zip 这个文件。
    PL\SQL Developer配置注意事项,及不显示查询结果问题_第3张图片
  3. 解压下载的instanceclient文件,然后在文件夹内建立一个network文件 夹,然后在network内再建立一个admin文件夹,然后将 tnsnames.ora文件拷贝到这个目录。其目录结构为:instantclient_12_1\network\admin\tnsnames.ora
    tnsnames.ora文件,可以直接从ORACLE安装的服务器上拷,其在我的DB服务器的路径为:/u01/app/oracle/product/12.1.0/dbhome_1/network/admin
    大家可以参考。
    tnsname.ora文件内容如下,也可以手动配置。
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.102)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
  1. 打开PL\SQL Developer软件,不用登陆,然后点开配置页面,配置ORACLE HOME和OCI library两个选项。
    1)ORACLE HOME配置为之前下载的instance client路径,我的为 C:\Software\instantclient_12_1
    2) OCI library配置为instance client路径+ oci.dll,我的为C:\Software\instantclient_12_1\oci.dll
    PL\SQL Developer配置注意事项,及不显示查询结果问题_第4张图片
  2. 最后保存,重启PL\SQL Developer软件,在登录界面,如果Database下拉框里能出来你的数据库名字,则说明tnsnames.ora文件被成功读取到了。下面的Connect as下拉框里能出来,则说明instance client被读取到了。
    输入密码,看是否能登录。登录之前,请使用lsnrctl status命令,查看数据库listener的状态,确保已打开。如果没有打开,可以使用lsnrctl start 命令打开
    PL\SQL Developer配置注意事项,及不显示查询结果问题_第5张图片
  3. 登录成功后,执行一个查询,正常输出,大功告成。
    PL\SQL Developer配置注意事项,及不显示查询结果问题_第6张图片

最后,说明一个我遇到的问题。
我之前安装完PL\SQL Developer后,instance client路径也配置了,可以正常登录PL\SQL Developer,但是查询的时候,没有数据输出。当时效果如下:
PL\SQL Developer配置注意事项,及不显示查询结果问题_第7张图片
遇到这个问题之后,找遍了全网,也没发现有人遇到和我一样的问题,最后自己研究了好久,才发现了问题的关键:instance client版本和数据库不匹配
我之前装的instance client版本是19.3,而我数据库版本是 12.1的,高于了数据的版本,所以在我的win 7 电脑上就出现了奇葩问题。
但是,在我公司的PC上,系统是win server 2012, 安装19.3版本的instance client,却可以正常连接使用,不知道是什么原因,可能跟系统版本有关系吧。
所以,我之前的教程才强调,instance client版本和ORACLE 版本请尽量一致,避免出现莫名其妙的问题
这也是我写这篇教程的原因,希望有人再遇到没有输出的问题,知道怎么解决。

另外,有的教程里提到,要配置好多环境变量,比如 TNS_ADMIN、path之类的。不过,经过我的测试,其实这些根本不用配,只需要把instance client 和tnsnames.ora 配置好,就OK 了。

你可能感兴趣的:(随笔)