使用PL/SQL Developer 报错:ORA-01460 :转换请求无法实现或不合理 解决方法!

使用PL/SQL Developer 报错:ORA-01460 :转换请求无法实现或不合理 解决办法!!!
刚安装好的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了!!!
1 楼 xuchu.mao 2011-10-14  
很好使,非常感谢!