如何使用PL/SQL Developer 连接remote 数据库
https://www.allroundautomations.com/plsqldev.html
1. 下载并安装 Oracle Instant Client
Free, light-weight and easily installed Oracle Database libraries and SDKs for building and connecting client applications to local or remote Oracle Databases.
可以通过考拉(http://www.squirrelsql.org/)万能连接Oracle ,然后查看数据库信息(包括)
比如
DatabaseProductVersion :
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
或者预先知道数据库版本信息
然后下载对应版本的 instant client
client版本要下载32位的,因为即便是64位PLSQL Developer 也只支持32位client
下载完毕之后解压,配置环境变量
TNS_ADMIN 解释:服务文件的父文件夹路径(tnsnames.ora)
https://docs.oracle.com/cd/B28359_01/network.111/b28317/tnsnames.htm#NETRF007
ORACLE_HOME 解释:instant client 的部署目录
https://docs.oracle.com/cd/E11882_01/install.112/e47959/post_install.htm#NTCLI1311
安装并设置环境变量完毕之后需要配置服务(tnsnames.ora)
2.下载并安装 PLSQL Developer
打开
如果上面client用的64位的,developer是不支持的,如下
Database 不显示,如果取消进入后 help - Support Info 会有这样的信息:OCI not initialized
如果强行指定一个Database 然后登陆会报这个错误(这就是上面的错误的原因)
上面这个原因就是位不支持,需要client换成32位的
PS:如果安装 instant client 没有配置 ORACLE_HOME 可以通过 Tool - Preferences 指定效果等同
如果既没有配置环境变量 ORACLE_HOME 也没有在tool中指定,登陆时会报这个错
3. tnsnames.ora 举例
MyDB= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST= 129.184.13.xxx)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = XXX) ) )
如果ora文件有语法错误,比如上面这个例子最后一个小括号丢掉了会出下面这个错误
如果正常结果如下(出现可选的服务 ora文件中的那个别名):
输入用户名密码之后成功连接
(题外话). 不需要安装 oracle express edition (如果安装了想要卸载很麻烦)
https://docs.oracle.com/cd/E17781_01/install.112/e18803/toc.htm#XEINW136
c:\xe_temp> setup.exe /s /f1"c:\xe_temp\response\OracleXE-remove.iss" /f2"c:\xe_temp\setup.log"
需要确认文件大小写是否正确。