天天看點

toad、oracle client、oracle DB版本問題,ora-12705錯誤

最近更新了資料庫到11.2.0.4,測試人員發現使用toad連不上資料庫,報“使用者名/密碼錯誤;拒絕登入”的錯誤。

測試人員使用的toad是9的,我使用10、11的toad都可以正常連接配接。

還有就是oracle用戶端的問題,如果用戶端版本低于10也會連不到11g的庫。

是以使用11g的oracle資料庫,建議安裝10以上的用戶端或instant client ;如要使用toad,也需安裝10以上的版本。

對于toad,若安裝的oracle用戶端是instant client,那麼需要配置windows的環境變量,如下:

系統變量中設定:(也可以寫入系統資料庫) 

Path D:/instantclient11 

LD_LIBRARY_PATH D:/instantclient11  --該變量可能可以省略

NLS_LANG AMERICAN_AMERICA.AL32UTF8   (或者 SIMPLIFIED   CHINESE_CHINA.ZHS16GBK ) --注意空格,這是設定語言,可以根據情況配置

ORACLE_HOME D:/instantclient11  

SQL_PATH D:/instantclient11 

TNS_ADMIN D:/instantclient11/network/ADMIN

--toad登入報出現12705錯誤,一般是字元集設定的問題。若裝的是用戶端,要麼去系統資料庫中修改,要麼修改環境變量NLS_LANG;若裝的是instant client,那隻需在環境變量中增加NLS_LANG即可。

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

修改如下:

如果是Windows平台,系統資料庫裡 /HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE 查找鍵 NLS_LANG,這個鍵由Oracle标準用戶端安裝建立, 值是 NA 。這個導緻了 ORA-12705錯誤。解決方法就是修改NA為SIMPLIFIED CHINESE_CHINA.ZHS16GBK。當然也可以在環境變量中增加 NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK。

 --我一般用utf8的字元集,即設定為AMERICAN_AMERICA.AL32UTF8

若果做了以上修改還是報該錯,嘗試下重新開機機器。

Linux下如果環境變量 NLS_LANG 值是NA 會引起 ORA-12705 錯誤,解決方法是修改set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK