使用PL/SQL Developer 報錯:ORA-01460 :轉換請求無法實現或不合理 解決辦法!!!
阿新 • • 發佈:2019-01-23
剛安裝好的oracle9i,使用pl/sql developer連線上去操作表的時候就報錯:ORA-01460 :轉換請求無法實現或不合理 。
問題原因是:客戶端和服務端字符集不一致。
事後回想一下,產生問題的原因應該是,事前裝過oracle10g,沒有解除安裝乾淨,後面又裝oracle9i設定的字符集和oracle10g不一致。
解決辦法:
1.通過執行
select * from V$NLS_PARAMETERS
where parameter in('NLS_LANGUAGE','NLS_ISO_CURRENCY','NLS_CHARACTERSET');
檢視伺服器字符集。
-------------------------------------------
PARAMETER VALUE
---------------------------------------------------------------- ----------------------------------------------------------------
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_ISO_CURRENCY CHINA
NLS_CHARACTERSET ZHS32GB18030
2.修改登錄檔:
通過regedit修改登錄檔(僅討論windows版)進行客戶端的字符集
位置\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG (右鍵修改)
修改為[NLS_LANGUAGE ]_[NLS_ISO_CURRENCY].[NLS_CHARACTERSET],
如上面的的伺服器,應該修改為:SIMPLIFIED CHINESE_CHINA.ZHS32GB18030
ok了!!!
問題原因是:客戶端和服務端字符集不一致。
事後回想一下,產生問題的原因應該是,事前裝過oracle10g,沒有解除安裝乾淨,後面又裝oracle9i設定的字符集和oracle10g不一致。
解決辦法:
1.通過執行
select * from V$NLS_PARAMETERS
where parameter in('NLS_LANGUAGE','NLS_ISO_CURRENCY','NLS_CHARACTERSET');
檢視伺服器字符集。
-------------------------------------------
PARAMETER VALUE
---------------------------------------------------------------- ----------------------------------------------------------------
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_ISO_CURRENCY CHINA
NLS_CHARACTERSET ZHS32GB18030
2.修改登錄檔:
通過regedit修改登錄檔(僅討論windows版)進行客戶端的字符集
位置\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG (右鍵修改)
修改為[NLS_LANGUAGE ]_[NLS_ISO_CURRENCY].[NLS_CHARACTERSET],
如上面的的伺服器,應該修改為:SIMPLIFIED CHINESE_CHINA.ZHS32GB18030
ok了!!!