用PL/SQL连接oracle数据库,不管是本地的还是远程的,一般都需要安装oracle客户端(500M左右)比较大,而且在各个系统上安装也有些讲究,需要修改相应配置文件,有点麻烦。
如何达到不安装oracle客户端,又能使用PL/SQL工具?本人做了如下测试并达到目的。
- oracle官网提供了instantclient,下载instantclient-basic包,将包解压存放到本地,本地路径为
D:\STUDY\instantclient_10_2;
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.146.143* )(PORT = *1521*))
)
(CONNECT_DATA =
(SERVICE_NAME = *orcl* )
)
)
注:斜体部分需要按需配置,如果端口是自定义的也需要相应变更。
3. 配置环境变量
变量名 变量值
TNS_ADMIN D:\STUDY\instantclient_10_2
注:这里变量值即为instantclient在本地的主目录;如果不配置该变量,
连接时会报错ORA-12154: TNS:could not resolve the connect identifier specified。
4. 安装PL/SQL Developer,并配置oracle的连接参数:
打开PL/SQL,Tools–>Preferences,配置Connection的Oracle Home和OCI library,如下图所示
5. 重新启动PL/SQL,登录测试,OK!
6. PLSQL乱码,配置oracle客户端所在环境的字符集,使其与oracle服务器内部字符集配置保持一致,如果是window系统,但是没有安装oracle客户端,可以设置系统环境变量
SET NLS_LANG=AMERICAN_AMERICA.AL32UTF8
TNS_ADMIN=G:\instantclient_10_2
注意:如果打开软件,下拉框为空,原因可能是环境变量没有配置正确,或者系统没有C环境,建议安装vc++ 6.0.
转自:http://www.cnblogs.com/zhwl/p/3727565.html