使用CDC需要如下基本步骤:
- 使用informix用户连接到syscdcv1数据库(准备工作中创建的)。
- 调用cdc_opensess()函数,cdc_opensess()函数会返回一个session ID。
- 调用cdc_set_fullrowlogging()函数打开full-row logging。每个需要捕获的表都要调用一次。
- 调用cdc_startcapture()通知数据库需要捕获哪些表(数据名+表名)和哪些列需要捕获。每个表需要调用一次。
- 调用dc_activatesess()函数启动数据库捕获过程。
- CDC数据通过智能大对象返回。需要通过智能大对象读取函数例如mi_lo_read()进行读取。使用session ID作为智能大对象的文件描述符参数。
- 解析智能大对象中返回的数据。在Java程序中可以使用IfxToJavaType类将一个byte stream转换为java的类和类型。
- 为每一个表调用一次cdc_endcapture()函数。
- 为每一个表调用一次dc_set_fullrowlogging()函数,关闭full-row logging。
- 调用cdc_closesess()关闭CDC的session。