none
ORA-12705 Oracle連線時出現錯誤 RRS feed

  • 問題

  • 最近在做資料轉移的部分,

    連結資料庫的時候卻出現了

    ORA-12705: Cannot access NLS data files or invalid environment specified的錯誤訊息

    看到的解決方法都是去 \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 中找尋 NLS_LANG 

    並將NLS_LANG進行變更名稱或更改參數值或是刪除即可,

    但我跟著做卻依然跳出此錯誤訊息..

    設定的Provider為:Oracle Client Provider

    連線Mode:Standard mode

    另外我之前有安裝過OraClient11g,當時安裝時印象中有看到會改變環境變數的Path.

    但我也不知道這跟這錯誤訊息(or invalid environment specified)有沒有關係,不敢亂調環境變數的值,怕壞的更多

    懇請前輩指點,謝謝。

    2017年8月1日 上午 08:58

解答

  • 經過多次oracle重灌、改了非常多次登陸檔的nsl_lang ,google上面看到的幾乎都嘗試過了,還是不能

    最後我是於"使用者"的環境變數中的

    nls_Lang : 改成 TRADITIONAL CHINESE_TAIWAN.ZHT16BIG5 

    並於環境中的

    TNS_Admin:原先為%ORACLE_HOME%,改成c://ORACLE這種路徑

    登陸檔的NLS_LANG沒改,為原先的TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950

    然後抱著還是不能的心態按下連接,突然就成功了...


    奇妙的是,我將這兩個變數改為之前的值,仍然還是可以連接

    (再改這兩個變數前我有嘗試過仍然不行,改完之後用什麼值都成功了)

    誤打誤撞成功,我也搞不懂原因,希望能給跟我遇到相同問題的人一點參考

    2017年8月30日 上午 02:04

所有回覆

  • 2017年8月5日 上午 08:04
  • 常見錯誤訊息(一):

    ORA-12705: Cannot access NLS data files or invalid environment specified.

    ORA-12705:語系設定錯誤

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

    出現ORA-12705的錯誤訊息,原因是NLS_LANGregedit機碼值是NA,為語系的編碼,有可能是電腦上安裝了Oracle Client後又移除所遺留下來的。

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

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

    常見錯誤訊息(二):

    Oracle Instant Client ORA-12705 錯誤

    Oracle 即時用戶端設定異常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

    其它設定:

    CMD下這指令設定,要先設定Win環境變數,之後下指令可以設定語系,下面是例子,可以自行Oracle官方查詢:

    C:\>set NLS_LANG=TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950

    希望可以幫助到你





    • 已編輯 電腦神手吳子陵 2017年8月9日 上午 09:29
    • 已標示為解答 HumorA 2017年8月10日 上午 08:02
    • 已取消標示為解答 HumorA 2017年8月11日 上午 04:58
    2017年8月9日 上午 06:10
  • 經過多次oracle重灌、改了非常多次登陸檔的nsl_lang ,google上面看到的幾乎都嘗試過了,還是不能

    最後我是於"使用者"的環境變數中的

    nls_Lang : 改成 TRADITIONAL CHINESE_TAIWAN.ZHT16BIG5 

    並於環境中的

    TNS_Admin:原先為%ORACLE_HOME%,改成c://ORACLE這種路徑

    登陸檔的NLS_LANG沒改,為原先的TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950

    然後抱著還是不能的心態按下連接,突然就成功了...


    奇妙的是,我將這兩個變數改為之前的值,仍然還是可以連接

    (再改這兩個變數前我有嘗試過仍然不行,改完之後用什麼值都成功了)

    誤打誤撞成功,我也搞不懂原因,希望能給跟我遇到相同問題的人一點參考

    2017年8月30日 上午 02:04