起因
新同学使用的新版本的Mac电脑 但是装的W系统M芯片 发现 PLSQL Developer 并不兼容
导致无法连接到Oracle数据
就临时换成Navicat Premium 16进行连接 然后就出现了一系列问题
Oracle默认编码集 ZHS16GBK
该问题是Navicat Premium默认使用Navicat自带的instantclient_11_2造成的。自带的采用的是Basic Lite版本的instantclient。
Basic Lite:Basic的精简版本,其中仅带有英文错误消息和 Unicode、ASCII以及西欧字符集支持不支持中文字符集,而本文中的服务器端oracle恰好是中文字符集
Basic:运行OCI、OCCI和JDBC-OCI 应用程序所需的所有文件,包含中文字符集。
解决办法就是换个Basic版本的instantclient。
参考Navicat Premium 连接Oracle 数据库(图文教程)
问题1:ORA-12737:Instant Client Light:unsupported server character set ZHS16GBK
Navicat自带的instantclient_11_2
问题2:cannot create oci handles
问题3:oracle library is not loaded
问题4:only compatible with oci vers and higherion 8.1 and higher
问题5:Cannot load OCI DLL,193
这是由于Navicat的版本和Navicat Premium不一致造成的,因为Navicat Premium只支持32位的Instant Client,检查一下你下载的的是不是32位的Instant Client。
统一解决方案
大部分问题都是出现在OCI版本不兼容,重置下载后配置
1、下载Oracle官方OCI
Oracle官方OCI环境
2、把下载好的压缩解压后并放在Navicat安装目录下
参考目录
D:\softwares\PremiumSoft\Navicat Premium 16
3、打开Navicat 并进行配置
工具 -> 选项 -> 环境-> OCI -> 选择下载版本的 oci.dll
4、注意 记得重启 Navicat Premium 令 OCI配置生效
此处非常关键 否则 依然无法使用
5、连接配置信息
6、界面查看 SCOTT用户下EMP表数据
到此大功告成!