我这边不能修改本地的编码方式,因为本地服务器还有其他几个实例,请问该怎么样处理?

小弟现在做一个项目,需要用到另外一数据库,我现在在本地建立db_link将数据迁移至本地,但是那个数据库编码为US7ASCII,本地客户端数据库 编码为ZHS16GBK 于是产生中文乱码,类似于=p:~OX9zK0>V4z?*5c#1 这样一些字符串。 现在通过convert 函数查询,查询语句为select convert(nsrmc,'US7ASCII','ZHS16GBK') from dj_nsrxx@dblink_gs1 ; 不行,查出的字符为:??????????,我试了好几种编码都不行。我这边不能修改本地的编码方式,因为本地服务器还有其他几个实例,这种情况应该怎么样处理,急。

达令说
浏览 189回答 2
2回答

炎炎设计

通过DBLINK查询过来时已经是乱码,这时再用CONVERT没有用。先在对端建个视图,转换成RAW类型CREATE VIEW V_DJ_NSRXX AS SELECT utl_raw.cast_to_raw(nsrmc) nsrmc FROM dj_nsrxx;然后再通过DBLINK查询SELECT utl_raw.cast_to_varchar2(nsrmc) FROM v_dj_nsrxx@dblink_gs1;

阿波罗的战车

小弟新手,不太明白你说的意思啊,现在问题是,在远程的那台服务器上查询显示是正常的,但本地在PLSQL上通过db_link查询显示 中文乱码,其它数值和英文字符都显示正常。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL
Oracle