暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
Gbase 8s 数据捕获接口使用方法
1524
4页
15次
2020-10-19
免费下载
Gbase 8s
数据捕获接口使用方法
1 Change Data Capture API
简介

使外部的客户端程序能够捕获

的事务数据。用户可以
各种序上使接口

接口
大对象的形式返回

记录,用户可以使用智能大对象读取函数读

数据。用户根
自己的应用可以决定如何处理这些数据。例如,可以编写一个程序将

数据库中的
数据复制到另外一个数据库上。
在开始捕获一个表的数据时,

输出了表的结构信息,用户可以
使用这些信息去创建一个表。当数据捕获开始以后,表结构变化时将不再提供新的表结构
数据。

仅提供变化的数据,它不提供数据库内容的初始快照。如果
户需个表过其式复据。使


在新表上进行数据更新。
只有当数据库的日志打开时,

才能够正常工作。
2 Change Data Capture API
使用方法
2.1
准备工作
在使用

之前需要做一些准备工作:
!
在需要进行

的数据库上打开日志开关。
"!
#$%&'(&
)* !+,
)*
)*
数据库中创建若干表和函数。
-!
确认
)* !+,
脚本成功创建
)*
数据库。
.!
/
使

0,1,2
同。
2.2 CDC API
的基本使用方法
使用

需要如下基本步骤
3
!
使用
451647
用户连接到
)*
数据库(准备工作中创建的)。
"!
调用
/102
函数,
/102
函数会返回一个
41
-!
调用
//5,,18,1402
函数打开
5,,18,14
。每个需要捕获的表都要调用
一次。
.!
/02
通知要捕(数
9
表名列需
捕获。每个表需要调用一次。
:!
调用
/;*02
函数启动数据库捕获过程。
<! 
数据通过智能大对象返回。需要通过智能大对象读取函数例如
64/,1/02
行读取。使用
41
作为智能大对象的文件描述符参数。
=!
*
使
57>1*>)
)6
转换为
?*
的类和类型。
!
为每一个表调用一次
/02
函数。
@!
为每一个表调用一次
//5,,18,1402
函数,关闭
5,,18,14
A!
调用
/,102
关闭

41
注意
: CDC
数据中在开头会包含表结构信息,需要按照
CDC_REC_TABSCHEMA
的格式
CDC_REC_INSERT /CDC_REC_UPDBEF / CDC_REC_UPDAFT /CDC_REC_DELETE
类型记录时使
到。具体示例参见
4.3
2.3 CDC
记录基本格式
每条

记录通常由以下几个部分构成
3
Common header.
Record-specific header
Record-content
! 1661!
所有的

记录都是相同的。
1661
中的
&16
字段用来表明当
使
&16
)*
))
表中去匹配
6
字段。根据匹配到的记录中的
6
字段可以
获取当前记录的类型。例如是
CDC_REC_INSERT
还是
CDC_REC_UPDBEF
"! &14B
这一部分根据

记录类型的不同而有着不同的格式。
-! &11
通常这一部分包含着数据变化部分内容。对
/&/$&>/&/C%
/&/C%>/&/>
,内容由以下几部分组成:
!
可变长度列的长度
如果记录中存在可变长度列的内容,每个列将对应
.
个字节的长度说明。这些
长度说明的顺序与
/&/>D'
记录中列的排列顺序相同。
!
固定长度列数据
如果记录存在固定长度列的内容,这些列将按照
/&/>D'
记录
列的排列顺序出现。具体数据格式参见第
<!
!
可变长度列数据
如果记录存在可变长度列的内容,这些列将按照
/&/>D'
记录
列的排列顺序出现。具体数据格式参见第
<!"
举例说明:
数据库使用如下语句创建:
,, 04*42E

会话始之会首先收一个
/&/>D'
记录表中据为
<
进制
据):
00 00 00 24 00 00 00 26 00 00 00 42 00 00 00 c8
00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 02
00 00 00 01 61 20 69 6e 74 65 67 65 72 2c 20 63
20 69 6e 74 65 67 65 72 2c 20 62 20 76 61 72 63
68 61 72 28 32 30 2c 30 29 00
1661!
.
1661
&1
4B
A7".
绿
1661
<
个字节,因此
&14B
长度为
"A
)。接下来的
.
个字节说明记录内容
A7"<
!
.
AAAAAA
))
6
等于
A7
的记,该记录
6
F/&/>D'F
。我就可知道
这是一条
/&/>D'
记录。
绿色部分
&14B
。接来就以根据参文献
】中说明
析绿色的
&14B
部分。最开始
.
个字节是在调
/02
函数
C
.
A
.
个字节说明固定长度字段用了
个字节(
4
字段)。再接下来
.
个字节说明有
"
个固定长度列。再接下来的
.
个字节说明有
个可变长度列。
最后黑色部分是各个字段的类型说明(
44
字符):
44*0"AA2G
注意这的字段排列顺序。
of 4
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。