原因:数据库的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
本文介绍了解决因客户端与数据库NLS_LANG参数设置不一致导致的问题的方法。通过对比客户端与数据库的具体参数配置,发现语言和地区设置的不同,并提供了解决方案——修改客户端的NLS_LANG设置以匹配数据库。

被折叠的 条评论
为什么被折叠?



