正在阅读:

Navicat连接Oracle 报 ORA-12737 set CHS16GBK错误

5,272

今天看到0day5上面更新了一个用友ERP的漏洞,确实可以下载任意文件;但是用友ERP基本上都是使用了oracle数据库,必须要有一个好的数据库连接工具才可以,Navicat 可以满足需求,测试过程中却遇到了"Navicat连接Oracle 报 ORA-12737 set CHS16GBK错误",以过多次的查找测试,找到解决办法,分享给小伙伴们。

参考了如下的文章:

http://tieba.baidu.com/p/1841846827

http://blog.csdn.net/fengshuiyue/article/details/44407661

总结如下:

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

本人的测试环境为Navicat 11 Premium,windows7 x64位。

经测试,使用Instant Client 11版本可以解决此问题,使用oracle官网上面的12版本则会出现不识别的问题。

Instant Client 11 下载地址

下载以后,替换navicat目录(安装目录\PremiumSoft\Navicat Premium\instantclient_10_2)下面的相关oci文件即可。。

oracle_oci

请先将原目录中的几个oci文件放到back目录,然后使用instantclient-basic-windows.x64-11.2.0.4.0.zip里面的相关文件替换,具体的文件为4个,如上图。

目前有:1条访客评论,博主回复1

  1. bobylive
    2016-01-23 14:47

    需要32位的dll来连接,这个好像是所有Oracle第三方连接客户端的通病

    • 独自等待
      2016-01-26 19:32

      下载对应的dll就行了,我的是64位的,所以就提供了64位的。

留下脚印,证明你来过。

*

*

流汗坏笑撇嘴大兵流泪发呆抠鼻吓到偷笑得意呲牙亲亲疑问调皮可爱白眼难过愤怒惊讶鼓掌