[Oracle整理]ORA-12705(字符集問題)

smodi發表於2017-07-19

[Oracle整理]ORA-12705(字符集問題)

 

2017511

18:11

[Oracle整理]ORA-12705(字符集問題)

說明:本內容是工作用到的知識點整理,來自工作中和網路。 

程式碼於Oracle9上測試。

 

環境不同

DB server相同

AP server相同

AP server上的DOTNET 版本相同——都是.NET 3.5SP1

建立相同的環境

客戶端不相同,我的計算機上裝的是10.2.0AP server上裝的是9.2.0

再次測試

出現ORA-12705錯誤

clip_image002

關於ORA-12705

第一種解釋

ORA-12705語系設定錯誤

regedit\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下找到NLS_LANG機碼予以刪除就可以work

出現ORA-12705的錯誤訊息,原因是NLS_LANGregedit機碼值是NA

為語系的編碼,是我在自己的計算機上安裝了Oracle Client後又移除所遺留下來的.

因此只要在regedit\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下找到NLS_LANG機碼予以刪除就可以work

第二種解釋

在環境變數中加一項:NLS_LANG , 值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

100%解決你的問題

第三種解釋

Oracle Instant Client ORA-12705 錯誤

問題: 使用Oracle Instant Client 出現 ORA-12705: Cannot access NLS data files or invalid environment specified 錯誤。

如果是Windows平臺,登錄檔裡\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 查詢鍵 NLS_LANG,這個鍵由Oracle標準客戶端安裝建立, 值是 NA 。這個導致了 ORA-12705錯誤。解決方法就是改名 NLS_LANG

Linux 如果環境變數 NLS_LANG 值是NA 會引起 ORA-12705 錯誤,解決方法是刪除這個變數,/home/oracle1/.profile中的

export NLS_LANG="SIMPLIFIED_CHINA.ZHS16GBK"

給註釋掉.

找出上述現象

clip_image004

修改NLS_LANG

改為AMERICAN_AMERICA.ZHT16BIG5,如下圖。

Oracle 9i設定

clip_image006

Oracle 10g設定

clip_image008

學習資料

http://space.itpub.net/8475224/viewspace-692675

http://blog.chinabyte.com/a/500815.html

人的一生應該這樣度過:當他回首往事的時候,不會因為虛度年華而悔恨,也不會因為碌碌無為而羞愧。

 

來自 <http://www.cnblogs.com/htht66/archive/2012/01/29/2330991.html>

 

已使用 Microsoft OneNote 2013 建立。





相關文章