解決ORA 12705無法訪問NLS問題

2021-09-27 04:49:24 字數 1820 閱讀 7190

通過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,...