1. 程式人生 > >PL/SQL Developer 連線64位資料庫出現亂碼錯誤

PL/SQL Developer 連線64位資料庫出現亂碼錯誤

原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明以下出處,否則追究版權法律責任。

安裝64bit oracle11g資料庫後,使用PL/SQL連線資料庫,解決“中文字元”亂碼問題

現場環境

作業系統

WINDOWS 2008 64bit

資料庫版本

Oracl11g 64bit 11.2.0.3

PL/SQL版本

10.0.2.1697

說明:PL/SQL軟體只能連線32位資料庫,所以實際工作中如果需要用其連線64位資料庫,需要安裝32位客戶端。

實施操作

實現使用PL/SQL連線oracle11g資料庫。

但這次生產庫出現了錯誤。

使用時出現錯誤,如下現象:

錯誤現象:出現亂碼。

解決方法

檢查資料庫語言設定:

SQL> select userenv('language') nls_lang from dual;

NLS_LANG

----------------------------------------------------

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

右擊"我的電腦" - "屬性" - "高階" - "環境變數" - "系統環境變數":

1>.選擇"Path" - 點選"編輯", 把 " D:\soft\app\Administrator\product\ instantclient_11_2;" 加入;

2>.點選"新建", 變數名設定為"TNS_ADMIN", 變數值設定為" D:\soft\app\Administrator\product\ instantclient_11_2;", 點選"確定";

3>.點選"新建", 變數名設定為"NLS_LANG", 變數值設定為"SIMPLIFIED CHINESE_CHINA.ZHS16GBK", 點選"確定";

再次執行PL/SQL Developer,中文已經正確顯示出來,如下所示:

總結

使用PL/SQL Developer通過安裝32位客戶端,成功解決連線64位資料庫,但出現中文字元亂碼問題,原來是WINDOWS系統下,還需要設定相應的環境變數。

後續網路查詢資料

下面是在網上找的一篇關於使用PL/SQL Developer連線64位資料庫的方法,總結已經很全面了,在這裡轉載過來,分享給朋友們。

下面為轉載:

1)安裝Oracle 11g 64位

2)安裝32位的Oracle客戶端( instantclient-basic-win32-11.2.0.1.0)

下載地址:http://www.oracle.com/technetwork/cn/topics/winsoft-095945-zhs.html

下載instantclient-basic-win32-11.2.0.1.0.zip (一定得是32位的,不要下錯了版本,Oracle官網有下載),將其解壓至Oracle安裝目錄的Product下(本機命名為:instantclient_11_2):D:\app\ZC\product\instantclient_11_2。

拷貝資料庫安裝根目錄下的一個目錄D:\app\ZC\product\11.2.0\dbhome_1\NETWORK到Oracle客戶端目錄下D:\app\ZC\product\instantclient_11_2(其實只需要 NETWORK\ADMIN\tnsnames.ora)

3)安裝PL/SQL Developer

安裝 PL/SQL Developer,在perference->Connection裡面設定OCI Library和Oracle_Home,例如本機設定為:

Oracle Home :D:\app\ZC\product\instantclient_11_2

OCI Library :D:\app\ZC\product\instantclient_11_2\oci.dll

4) 設定環境變數(修改PATH和TNS_ADMIN環境變數) 對於NLS_LANG環境變數, 最好設定成和資料庫端一致, 首先從資料庫端查詢字符集資訊:

SQL> select userenv('language') nls_lang from dual;

NLS_LANG

----------------------------------------------------

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

右擊"我的電腦" - "屬性" - "高階" - "環境變數" - "系統環境變數":

1>.選擇"Path" - 點選"編輯", 把 "D:\app\ZC\product\instantclient_11_2;" 加入;

2>.點選"新建", 變數名設定為"TNS_ADMIN", 變數值設定為"D:\app\ZC\product\instantclient_11_2;", 點選"確定";

3>.點選"新建", 變數名設定為"NLS_LANG", 變數值設定為"SIMPLIFIED CHINESE_CHINA.ZHS16GBK", 點選"確定";

最後點選"確定"退出。

啟動 PL/SQL Developer ,執行無問題。

原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明以下出處,否則追究版權法律責任。