原因:数据库的nls_lang参数和客户端nls_lang参数不一致导致。
检查以上2个参数:
客户端: select * from v$nls_parameters;
NLS_LANGUAGE NLS_TERRITORY NLS_CHARACTERSET
SIMPLIFIED CHINESE CHINA ZHS16GBK
数据库: select * from nls_database_parameters;
NLS_LANGUAGE NLS_TERRITORY NLS_CHARACTERSET
AMERICAN AMERICA ZHS16GBK
NLS_LANG的格式如下: NLS_LANG = language_territory.charset
所以
客户端:NLS_LANG= SIMPLIFIED CHINES_CHINA.ZHS16GBK
数据库:NLS_LANG= AMERICAN_AMERICA.ZHS16GBK
两边不一致 导致了这个问题
解决方案,使两边一致,最好是修改客户端的。
在注册表hkey_local_machine->software->oracle->对应的home<id>下,改
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK