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。
