navicat连接oracle报错:ORA-12737 Instant Client Light:unsupported server character set ZHS16GBK

Posted 李慕白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了navicat连接oracle报错:ORA-12737 Instant Client Light:unsupported server character set ZHS16GBK相关的知识,希望对你有一定的参考价值。

今天使用Navicat连接Oracle数据库,报了下面的这个错误:“ORA-12737 Instant Client Light:unsupported server character set ZHS16GBK”

从这个错误上看,可以知道是客户端不支持服务器端的字符集造成的,但是修改服务器端的字符集是不现实的,那我们只能从客户端找原因了。我们知道Navicat连接Oracle使用的是OCI方式,而我安装的Navicat 10 Premium使用的是OCI的Instant Client 10 是不支持除英文以外的其他的字符集的,所以替换掉Navicat使用的OCI的DLL文件即可解决这个问题。

1.Navicat OCI引用位置

可以从Navicat菜单栏“工具”-》“选项”-》“OCI”中找到,如下图所示:

技术分享图片 

技术分享图片

2.Navicat替换的文件

技术分享图片

3.ORACLE新版本的DLL文件

我本机装的是ORACLE企业完整版的数据库,故其包含连接ORACLE的客户端所需的DLL文件,因此在我本机ORACLE目录:D:\ProgramFiles\Oracle\product\11.1.0\db_1\BIN

下找到如下文件:

技术分享图片

替换了即可

4.重启Navicat

替换文件后,需要重启Navicat,重启后即可应用新版本的OCI。

以上是关于navicat连接oracle报错:ORA-12737 Instant Client Light:unsupported server character set ZHS16GBK的主要内容,如果未能解决你的问题,请参考以下文章

navicat 连接Oracle 报错:Cannot load OCI DLL, 126

Navicat连接oracle库报错的处理方法

Navicat 连接Oracle报错 ORA-00922

Navicat连接Oracle报错_Cannot load OCI DLL 87

在 navicat 连接的oracle中,调用存储过程 报错?

Navicat连接Oracle数据库报错ORA-28547解决方法