首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同字符集dblink上的Oracle clob

不同字符集dblink上的Oracle clob
EN

Stack Overflow用户
提问于 2010-08-03 18:28:02
回答 3查看 2.8K关注 0票数 1

下面是一个场景:

甲骨文A:字符集WE8ISO8859P1

甲骨文B:字符集WE8MSWIN1252

Oracle A <- dblink -> Oracle B

I不能直接访问Oracle,防火墙问题:( )

我必须从OracleB获得一些二进制文件,这些文件位于CLOB类型的列中(不要问我为什么,我不能更改为BLOB)。

我使用"select insert“将文件从B转换为A,并使用clob_to_blob函数查找这里将它们转换为二进制文件。

我得到了一些损坏的文件,我相信这是因为甲骨文通过dblink自动将WE8MSWIN1252转换为WE8ISO8859P1 (好吧,列是CLOB,所以它是文本,对吗?)

我不能以任何方式改变数据库字符集。

有什么解决办法吗?

提前感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-03 23:05:29

你试过使用DBMS_LOB.CONVERTTOBLOB@remote(.)吗?

但是,您可能希望获得远程CLOB的某种校验和,以查看它们在从任何原始外部源插入/更新字符集时是否得到字符转换。也就是说,如果完成插入时的客户端字符集与数据库字符集不同,则在进行选择之前可能已经发生了问题。

编辑以添加。

我能找到的最接近的对象需要链接的另一端的一些对象。首先,一个在远程端执行转换的函数。第二,表示数据的“BLOB”视图的视图。这使用一个虚拟表(基于v$sql,因为它是我能找到的第一个CLOB )。我没有理由看到您不能简单地将CLOB作为参数传递给函数。

代码语言:javascript
复制
create or replace function ret_blob return blob is
  cursor c_1 is 
  select sql_fulltext, sql_id, length(sql_fulltext) 
  from v_sql
  where sql_id = 'bzmb01whp36wt';
  rec_c1 c_1%rowtype;
  --
  v_blob  blob;
  v_dest  number := 1;
  v_src   number := 1;
  v_lang  number := 0;
  v_warn  number;
  --
begin
  open c_1;
  fetch c_1 into rec_c1;
  close c_1;
  dbms_lob.createtemporary(v_blob, TRUE);
  --
  dbms_lob.CONVERTTOBLOB (v_blob, rec_c1.sql_fulltext, DBMS_LOB.LOBMAXSIZE, 
        v_dest, v_src, DBMS_LOB.DEFAULT_CSID, v_lang, v_warn);
  --
  dbms_output.put_line(':'||v_warn||'>'||length(v_blob));
  --
  return v_blob;
end;
/

create view rblob as select ret_blob from dual;

然后,从本地数据库中,执行

代码语言:javascript
复制
create table t as select ret_blob from rblob@remote
票数 1
EN

Stack Overflow用户

发布于 2010-08-03 18:44:06

我最好的建议是不要使用DB链接,而是这样做:

  1. 获取客户端程序,无论是独立的还是您自己的,从Oracle B中提取CLOB,并将数据写成一个包含正确二进制数据的“文本”文件。
  2. 将该文件作为二进制文件导入到Oracle A中。
票数 0
EN

Stack Overflow用户

发布于 2010-08-05 23:01:56

完全不同的选择。创建具有与B相同的字符集的数据库C(不需要任何转换),然后在将数据移动到A之前,可以使用C进行操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3399566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档