CDC抓取数据过程中所遇到的问题集合

本文介绍了在使用IBM Change Data Capture (CDC) 过程中遇到的问题,包括过滤条件非布尔值的处理,使用存储过程和%USERFUNC解决,以及如何合并源表字段。此外,还提到了字段映射、派生字段的创建和%GETCOL函数的使用,以及在数据抓取时需要注意的目标表字符集和主键唯一索引问题。
摘要由CSDN通过智能技术生成

1. 关于过滤POSTCODE LIKE '%8%'

 

CDC里面支持过滤条件,但过滤条件只能是个布尔值;而你所列的条件的返回值非布尔值,所以可以考虑定义一个存储过程,通过存储过程来判断。满足条件时存储过程返回值为1,否则为0。然后看在过滤条件中判断该行是否满足条件。

此处,对于ADDRESS到CUST_ADDRESS的表映射,需要定义的过滤条件为:

%USERFUNC("STOREDPROC","DB2INST1.SELECT_POSTCODE",POSTCODE)=1

进行的操作就是先调用存储过程DB2INST1.SELECT_POSTCODE,POSTCODE为存储过程的输入值。关于%USERFUNC的语法,请查看:

http://pic.dhe.ibm.com/infocenter/cdc/v6r5m1/index.jsp?topic=%2Fcom.ibm.cdcdoc.mcadminguide.doc%2Frefs%2Fuserfunc.html

 

存储过程DB2INST1.SELECT_POSTCODE代码:

@

CREATE OR REPLACE PROCEDURE SELECT_POSTCODE

(OUT RESULT1 int, IN POSTCODE VARCHAR(10))

 LANGUAGE SQL

 BEGIN

 IF(POSTCODE LIKE '%8%') THEN

 SETRESULT1=1;

 ELSE

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值