有些项目可以直接使用远程软件处理,可有一些项目用的是项目所在地的网络,所以不用远程,只是需要远程数据。最近我一直在试图远程我们项目使用的oracle12c,最开始同事说用oracle11g数据库就行,听完就顺着这个思路来了。先安装了oracle11g的数据库(他们说需要有),又安装了客户端软件,又安装了plsql。以为万事具备,只欠改一下“NETWORK\ADMIN”下的tnsnames.ora这个配置文件了,谁知道问题来了。改完之后怎么做都报错。
连接问题ORA-28040:没有匹配的验证协议
这个错误是反复出现。
我尝试去卸载plsql,重新安装其他版本的plsql,不行。
卸载oracle客户端,重新安装,不行。
配置电脑--》高级系统设置--》环境变量,不行。
配置plsql里的preferences不行。
同事花钱找人给连接上的,我一个学计算机的,总觉得花钱找人帮忙连接数据库有点打脸。所以在空闲之余,又开始研究,昨天终于连接上了。
废话不多说,教程如下:提前说一下,我电脑是64位。但是我下载的2个安装包都是32位的哈。不影响使用。另外一定要记得本次安装之前,电脑里的之前下载的oracle数据库,及plsql和oracle客户端统统删除,电脑环境变量统统删除。一定要卸载干净哈。
首先准备好2个安装包:plsqldev1207x32 、 instantclient-basic-nt-12.1.0.2.0.zip
2、安装oracle12c client:
把下载的instantclient-basic-nt-12.1.0.2.0.zip解压,把解压后的文件拷贝到C:\Program Files (x86)\目录下
3、安装PL\SQL Developer:
运行plsqldev1207x32.exe安装到目录:C:\Program Files (x86)\PLSQL Developer,一路安装,中间遇到警告直接下一步;安装完后,需要把下载msvcr100.dll复制到C:\Program Files (x86)\PLSQL Developer\路径下。
4、安装oracle12c client:
安装根目录下创建C:\Program Files (x86)\instantclient_12_1\NETWORK\ADMIN目录,并在ADMIN下创建文件tnsnames.ora,修改文件tnsnames.ora内容。
修改后tnsnames.ora内容:
ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) ) TEST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.11.22.123)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dbName) ) )
备注:
1、其中TEST使我们PL\SQL Developer连接需要的tns别名;
2、10.11.22.123是远程服务器(安装oracle12c的服务器)的ip;
3、1521是远程服务器(安装oracle12c的服务器)上所监听的端口;
4、dbName是远程服务器(安装oracle12c的服务器)上Oracle12c数据库安装的可插拔数据库实例名称。
5、配置环境变量:
a、打开环境变量设置添加TNS_ADMIN,值为tnsnames.ora所在路径。如本机为C:\Program Files (x86)\instantclient_12_1\NETWORK\ADMIN\tnsnames.ora
b、把oracle12c client安装路径追加到path变量中,.;C:\Program Files (x86)\instantclient_12_1\
- 运行及激活(汉化):
1、双击桌面创建pl\sql developer快捷方式图标
,启动界面,输入账户名、密码、数据库。