现在我有两台服务器:A windows2008 server64 +oracle11.0.7(数据库服务器)
B windows2008 server64 +oracle11.0.7(仅数据库软件)
现在我用B连接到A。
其中在plsql中查询
sql> select userenv('language') As 字符集 from dual;
字符集
------------------------------
simplified chinese_china.zhs16GBK
然而在sqlplus中执行同样的语句 得到的结果是:
AMERICAN_AMERICA.ZHS16GBK.
都是在同一个oracle的用户下面执行的。
请问这个是怎么回事呢?
B windows2008 server64 +oracle11.0.7(仅数据库软件)
现在我用B连接到A。
其中在plsql中查询
sql> select userenv('language') As 字符集 from dual;
字符集
------------------------------
simplified chinese_china.zhs16GBK
然而在sqlplus中执行同样的语句 得到的结果是:
AMERICAN_AMERICA.ZHS16GBK.
都是在同一个oracle的用户下面执行的。
请问这个是怎么回事呢?
而且a,b两个服务器的注册表里面的字符集都是simplified chinese_china.zhs16GBK。
而SQL PLUS得到的是本地的字符编码
B服务器用sqlplus来查询,查询结果都是:AMERICAN_AMERICA.ZHS16GBK
然而我在B服务器的注册表里面查询的字符集为:simplified chinese_china.zhs16GBK。这个怎么回事呢
?
那我就问问 为什么我语言和区域用sqlplus 查询和直接在注册表中查询的不一直呢、。
字符集一样的 ZHS16GBK
在A服务器上就能执行成功。 最终查询下来就是 区域与语言的区别。
都是在.net 下执行的动态语句。
现在我把B服务器上的oralce卸载后,重新装上后并且选择了 chinese_china ,在来执行这条sql语句就OK了。