PLSQL连接oracle12c 数据库
本地的oracle是11的版本,所以客户端也是11的版本,所以使用该11的客户端搭配plsql无法连接oracle12c的数据库。
但是我又不想去本地重新安装12c的oracle,下面就是解决方案。
1.下载客户端
https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html
保证这个客户端的版本大于等于12c的oracle即可!
2.配置客户端
解压客户端,将instantclient_19_6放在D:\app\hspcadmin\product\11.2.0路径下面
然后在instantclient_19_6这个目录下新建sqlnet.ora和tnsnames.ora两个文件
3.sqlnet.ora文件内容
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
4.tnsnames.ora文件内容
orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = *192.168.146.143* )(PORT = *1521*))
)
(CONNECT_DATA =
(SERVICE_NAME = *orcl* )
)
)
5.配置环境变量
变量名 变量值
TNS_ADMIN D:\app\hspcadmin\product\11.2.0\instantclient_19_6
6.注意TNS_ADMIN如果不配置会报错
注:这里变量值即为instantclient在本地的主目录;如果不配置该变量,
连接时会报错ORA-12154: TNS:could not resolve the connect identifier specified
- 安装PL/SQL Developer,并配置oracle的连接参数:
需要注意的是:plsql的位数和客户端要保持一致,否则会报错OCIDLL foced to return 0 累死错误
打开PL/SQL,Tools–>Preferences,配置Connection的Oracle Home和OCI library
64为plsql配置如下:
32为的plsql配置如下:
8.PLSQL乱码
配置oracle客户端所在环境的字符集,使其与oracle服务器内部字符集配置保持一致,如果是window系统,但是没有安装oracle客户端,可以设置系统环境变量
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK,解决中文乱码问题
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。