[oracle高手救命]关于一个oracle客户端10g,访问2个异地oracle服务器,字符集不同的问题。
现有个应用服务器,A1,2个数据库服务器,S1,S2
A1上装了10g客户端,默认字符集设置 NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
S1上是10g服务器,库字符集是SIMPLIFIED CHINESE_CHINA.ZHS16GBK
S2上是8i服务器,库字符集是SIMPLIFIED CHINESE_CHINA.US7ASCII
打算在A1上开发一个数据获取接口程序,需要从S2上取得数据导入到S1中,通过java或.NET实现,但是问题出现了,由于A1上10g客户端默认字符集是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,访问S2的数据库中文乱码,将A1上10g客户端默认字符集改为和S2字符集一样NLS_LANG = SIMPLIFIED CHINESE_CHINA.US7ASCII,结果访问S2正常,访问S1就乱码了,这样总不能将S2正确数据通过程序导入S1,问DBA,他的解决办法是程序从S2查询的时候,通过程序将注册表NLS_LANG改为S2的字符集,然后向S1写入数据库的时候再改回来,这样的办法似乎不妥,如果我用多线程的话,容易程序不同步运算字符集冲突导致混乱,请问大侠们有完美的解决办法吗?比如一个10g客户端可以设定2个字符集对应到2个客户端别名配置上。
不盛感激!!!