我们常用的Oracle开发的工具有SQL Developer和PL/SQL Developer,个人感觉前者虽然跨平台性优于后者,但比较大(大于300M)占用资源,而且用户体验也一般,而后者相对就小很多(小于30M),用起来也比较顺手。
用PL/SQL连接oracle数据库,不管是本地的还是远程的,一般都需要安装oracle客户端(500M左右)比较大,而且在各个系统上安装也有些讲究,需要修改相应配置文件,有点麻烦。
如何达到不安装oracle客户端,又能使用PL/SQL工具?
测试环境:
Win10系统,未安装过oracle包括客户端
本机虚拟机Linux中装有oracle,并有一个可用的orcl实例
一、下载 PLSQL Developer和 Oracle 客户端
PLSQL Developer V11.0.6 64位绿色版
http://download.csdn.net/download/sanqiershiyi/9616838
Oracle Instant Client 12.2
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html?ssSourceSiteId=ocomen
http://www.oracle.com/technetwork/topics/winx64soft-089540.html
二、将PLSQL Developer和 Oracle 客户端移至D盘后解压(位置可以任意)
解压我们得到两个文件夹:
PLSQL Developer V11.0.6
instantclient_12_2
三、设置Oracle Home 和 OCI library
双击PLSQL Developer V11.0.6目录下 plsqldev图标
在弹出登录界面后点击取消(cancel)后,进入PL\SQL
点击Tools->preferences->connection,在右边界面下方有:
Oracle Home(empty is autodetect)
OCI library (empty is autodetect)
设置:
Oracle Home(empty is autodetect):D:\PLSQL Developer\instantclient_12_2
OCI library (empty is autodetect):D:\PLSQL Developer\instantclient_12_2\oci.dll
设置oci.dll文件全路径(解压刚才下载的Oracle客户端,在文件目录下能找到)
上面是我的设置,请根据实际情况进行修改。设置完之后,点击OK,退出PL\SQL。
四、在D:\PLSQL Developer\instantclient_12_2目录下新建sqlnet.ora和tnsnames.ora两个文件
sqlnet.ora文件内容:
----------------------------------------------------------------
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
tnsnames.ora文件内容:
-----------------------------------------------------------------
orcl=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.107)(PORT =1521))
)
(CONNECT_DATA =
(SERVICE_NAME =orcl)
)
)
-----------------------------------------------------------------
注:斜体部分需要按需配置,如果端口是自定义的也需要相应变更。
五、设置环境变量
变量名 变量值
TNS_ADMIN D:\PLSQL Developer\instantclient_12_2
注:这里变量值即为instantclient在本地的主目录;如果不配置该变量,
连接时会报错ORA-12154: TNS:could not resolve the connect identifier specified。
六、 登录
Username:XXX
Password:XXX
Database:SERVICE_NAME
Connect as: Normal
PLSQL乱码:http://gang-chen.iteye.com/blog/2005546
PLSQL官网:https://www.allroundautomations.com/plsqldev.html