专注数据库开发管理
分类:
2010-12-17 17:46:18
使用oracle以来从来没有报过,但是这次在广州发生了,双击pl/sql developer的表,应该能够是view表结构的,但是呢,在这里报错,报错内容是:ORA-01460 :转换请求无法实现或不合理。
问题:客户端和服务端字符集不一致。
解决:
step1、通过执行select * from V$NLS_PARAMETERS查看服务端字符集
PARAMETER VALUE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET ZHS32GB18030
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_NCHAR_CHARACTERSET UTF8
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
step2、通过regedit修改注册表(仅讨论windows版)进行客户端的字符集,位置\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG
修改为[NLS_LANGUAGE ]_[NLS_ISO_CURRENCY]_[NLS_CHARACTERSET],
如上面的的服务器,应该修改为:AMERICAN_AMERICA.ZHS32GB18030。
OK了。