通過putty sql_plus 連線資料庫報錯:
ora-12705:cannot access nls data files or invalid environment specified
此問題主要是putty登入後的系統linux/windows當前環境變數nls_lang設定和資料庫nls_lang引數變數不一致導致.
nls_lang引數由以下部分組成:
nls_lang=[language]_[territory].[clients characterset]
nls_language 指定:
nls_territory 指定:
客戶端字符集(clients characterset):
1.首先查詢資料庫的語言字符集環境變數;
select
(select value from nls_database_parameters
where parameter='nls_language')
||'_'||
(select value from nls_database_parameters
where parameter='nls_territory')
||'.'||
(select value from nls_database_parameters
where parameter='nls_characterset') nls_lang
from dual;
注意:
select userenv('language') from dual;
--或select * from v$nls_parameters;
如上查詢只能查詢出資料庫當前session的語言字符集,
2.在putty linux 中查詢當前的環境變數nls_lang是否和資料庫語言字符集保持一致.
env | grep nls_lang
3.不一致則使用export 命令設定linux環境變數nls_lang的值
linux例如:export nls_lang=american_america.al32utf8
如果要永久更新此變數需要在.bash_profile檔案中設定或新增的nls_lang
例如:vi ~/.bash_profile
注:遠端機器如果為windows;
windows設定nls_lang有三種方式
1.cmd命令如下:
set nls_lang=american_america.al32utf8
2..登錄檔設定(永久生效)
預設情況下,windows上的oracle安裝使用登錄檔來定義這個設定。
版本 10g 及以上:
hkey_localmachine\software\oracle\key
這裡您會看到乙個條目名為nls_lang
在64位windows平台上安裝32位軟體,會使用32位相容性路徑
hkey_localmachine\software\wow6432node\oracle\key
3..作業系統環境變數
儘管登錄檔是microsoft windows設定的主要儲存位置,它不是唯一可以設定引數的地方。
雖然不推薦,但您可以設定nls_lang為系統屬性中的系統或者使用者變數。這個設定會被所有oracle home使用。
設定位置: '我的電腦' -> '屬性' > '高階' -> '環境變數'
ORA 12705 解決方法
問題 建立oracle資料庫出現ora 12705 cannot access nls data files or invalid environment specified。環境 重置系統,無oracle軟體殘留,新裝oracle資料庫,正常配置listen,建立資料庫最後一步時抱錯。分析 檢查以...
ORA 12705 解決方法
問題 建立oracle資料庫出現ora 12705 cannot access nls data files or invalid environment specified。環境 重置系統,無oracle軟體殘留,新裝oracle資料庫,正常配置listen,建立資料庫最後一步時抱錯。分析 檢查以...
DDMS Data無法訪問 解決方案
最近本人因為專案原因開始接觸android開發。在使用ddms檢視本地資料時發現了問題,data資料夾無法訪問。在baidu時,發現解決方案都差不多,但是我怎麼嘗試都沒有辦法。現在我已經解決了,我將總結不行android版本的不同解決方案。本人使用的ide環境為android studio 3.0,...