Oracle数据库中Blob类型数据传输至clob类型

在我们数据集成的时候,Oracle数据库中会碰到源库字段是Blob类型,目标库字段是Clob,直接去ETL,不做转换的话,数据能够过去,但因为Blob是富文本类型,Clob只能存储字符数据,传输的字段内容会损坏,会乱码。也试过用Oracle中DBMS_LOB包里面的函数去转换,但是结果就是buffer cache 被直接占满,最后重启数据库才解决。

用ELT解决的方法也很简单,但是一般去百度的话基本都是去建函数,建存储过程去调用DBMS_LOB包里面去转,这种方法对于大数据量的可行性不高,特此记录一下。

这里的ETL工具是用Kettle,在表输入与表输出之间加入JavaScript的组件,去调用java.lang 包里面的String方法。这个兼容模式的话开启之后就是使用JavaScript之前的语法。然后在表输出的组件里面映射上JavaScript组件输出的字段就可以了。这样转换之后,Blob字段里的数据能够与Clob字段里数据保持一致。当然,目标库也可以是其他数据库的大文本字段类型,如mysql或者postgresql的text类型字段也都是可以转换成功的。

var WJBLOB2=new Packages.java.lang.String(WJBLOB);

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值