如何使用PL/SQL Developer 连接remote 数据库

发布时间 2023-06-01 14:13:05作者: zno2

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"

需要确认文件大小写是否正确。