Navicat 版本:Navicat Premium 9.1.11 Oracle 版本: Oracle Database 10g Release 2 (10.2.0.1.0)
如下圖,使用Navicat串連Oracle資料庫失敗
問題原因:
Navicat內建的OCI.dll不支援GBK字元集.
以下是Oracle官網上的一段說明 http://www.oracle.com/technetwork/topics/winsoft-085727.html
Version 10.2.0.5
Instant Client Package - Basic:All files required to run OCI, OCCI, and JDBC-OCI applications instantclient-basic-win32-10.2.0.5.zip(34,846,661 bytes)
*Instant Client Package - Basic Lite:Smaller version of the Basic, with only English error messages and Unicode, ASCII, and Western European character set support (10.2 only) instantclient-basiclite-win32-10.2.0.5.zip(10,670,287 bytes)
注意紅色部分,lite版的OCI只支援unicode、ascii和西文字元集,這個Navicat提示的不支援GBK字元集相吻合,因此可以推測Navicat不支援GBK的根源在於OCI.dll用的是lite版的,
解決方案:
下載一個非lite版的OCI就可以了 下載地址: http://www.oracle.com/technetwork/topics/winsoft-085727.html 下載連結: http://download.oracle.com/otn/nt/instantclient/10205/instantclient-basic-win32-10.2.0.5.zip
將下載好的 instantclient-basic-win32-10.2.0.5.zip解壓到Navicat的安裝目錄,替換原來的檔案
然後開啟 Navicat --> 工具 --> 選項 --> 其他 --> OCI,在"OCI library (oci.dll)"中選擇剛才解壓的檔案夾中的oci.dll即可.