最近项目的开发过程中使用oracle12c的进行项目开发,在通过pl/sql使用原有11.2客户端进行数据链接时报错“oracle 12c ora-28040 没有匹配的认证协议”,此错误是用了oracle11g的驱动连12c的数据库,需要在$oracle_home\network\admin\sqlnet.ora中配置,通过查看数据库该配置文件已存在,最后通过官方下载instantclient-basic-nt-12.2.0.1.0的客户端成功连接,但是在导出dmp文件时提示无此命令,仅有一个basic只能连接,还需要有sqlplus、odbc、jdbc。
一、【安装】从oracle官方网站下载instant client文件
instantclient-basic-nt-12.2.0.1.0.zip
instantclient-jdbc-nt-12.2.0.1.0.zip
instantclient-sqlplus-nt-12.2.0.1.0.zip
instantclient-tools-nt-12.2.0.1.0.zip
将以上zip文件解压到同一个目录下,便于查找和使用,如:d:\oracle\instantclient_12_2,以下均已此路径作为示例。
二、【配置】环境变量
假定oracle instant client安装(解压)的目录是:d:\oracle\instantclient_12_2
然后,如果tnsnames.ora文件直接放在d:\oracle\instantclient_12_2下,需要设置环境变量tns_admin=d:\oracle\instantclient_12_2;
如果在d:\oracle\instantclient_12_2下建立network\admin目录,并且放入tnsnames.ora文件,则可以忽略tns_admin变量。
(1)建立新目录:
在d:\oracle\instantclient_12_2下建立network\admin目录。
(2)在network\admin目录下建立tnsnames.ora文件(或者拷贝一个),该文件配置了你要连接的数据库;
(3)建立环境变量:
tns_admin=d:\oracle\instantclient_12_2\network\admin(必须)
path=%path%;d:\oracle\instantclient_12_2(必须)
oracle_home=d:\oracle\instantclient_12_2(必须)
ld_library_path=d:\oracle\instantclient_12_2(必须)
sqlpath=d:\oracle\instantclient_12_2(可选)
nls_lang=simplified chinese_china.zhs16gbk(可选)
【配置】pl/sql developer
上述内容配置完成后,还需要进行pl/sql原有配置信息的修改,需要将首选项改为以下内容:
oracle home:d:\oracle\instantclient_12_2
oci library: d:\oracle\instantclient_12_2\oci.dll
进入pl/sql,点击“工具”栏“首选项”