在项目开发过程中,使用Oracle 12c数据库时遇到了“Oracle 12c ORA-28040 没有匹配的认证协议”的错误。这个问题是由于使用了Oracle 11g的驱动连接到12c数据库,需要修改$ORACLE_HOME\NETWORK\ADMIN\sqlnet.ora文件进行配置。通过官方下载的instantclient-basic-nt-12.2.0.1.0客户端成功连接后,发现导出dmp文件时提示无此命令,只能使用basic连接,还需要sqlplus、odbc、jdbc。从Oracle 12C开始,提供了Oracle Instant Client,它支持在本地或云端开发和部署连接Oracle数据库的应用。Instant Client库提供了网络连接和高级数据特性,支持多种语言和环境,包括Python、Node.js、Go、PHP和Ruby等,并支持访问Oracle调用接口(OCI)、Oracle C++调用接口(OCCI)、JDBC OCI、ODBC和Pro*C应用。它还包含了SQL*Plus、SQL*Loader和Oracle Data Pump等工具,提供便捷的数据访问功能。可以通过Oracle Instant Client Downloads官网下载地址下载Instant Client文件。以Oracle 12c为例,将下载的zip文件解压到同一目录下,例如D:\oracle\instantclient_12_2。安装完成后,需要设置系统环境变量。假设Oracle Instant Client安装(解压)的目录是D:\oracle\instantclient_12_2,如果tnsnames.ora文件直接放在该目录下,需要设置环境变量TNS_ADMIN=D:\oracle\instantclient_12_2。如果在该目录下建立network\admin目录并放入tnsnames.ora文件,则可以忽略TNS_ADMIN变量。建立network\admin目录,然后在network\admin目录下建立tnsnames.ora文件(或者拷贝一个),该文件配置了你要连接的数据库。配置PL/SQL Developer时,需要修改首选项。进入PL/SQL,点击“工具”栏“首选项”。配置Navicator时,选择“工具/选项/环境”,设置oci.dll所在位置。