[Oracle整理]ORA-12705(字符集問題)
2017年5月11日
18:11
說明:本內容是工作用到的知識點整理,來自工作中和網路。
程式碼於Oracle9上測試。
環境不同
DB server相同
AP server相同
AP server上的DOTNET 版本相同——都是.NET 3.5SP1
建立相同的環境
客戶端不相同,我的計算機上裝的是10.2.0。AP server上裝的是9.2.0
再次測試
出現ORA-12705錯誤
關於ORA-12705
第一種解釋
ORA-12705語系設定錯誤
在regedit的\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下找到NLS_LANG機碼予以刪除就可以work
出現ORA-12705的錯誤訊息,原因是NLS_LANG在regedit機碼值是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"
給註釋掉.
找出上述現象
修改NLS_LANG
改為AMERICAN_AMERICA.ZHT16BIG5,如下圖。
Oracle 9i設定
Oracle 10g設定
學習資料
1 http://space.itpub.net/8475224/viewspace-692675
2 http://blog.chinabyte.com/a/500815.html
人的一生應該這樣度過:當他回首往事的時候,不會因為虛度年華而悔恨,也不會因為碌碌無為而羞愧。
來自 <http://www.cnblogs.com/htht66/archive/2012/01/29/2330991.html>
已使用 Microsoft OneNote 2013 建立。