General Database Adapter for Biztalk Server 2006 介绍
目前该adapter分单向的Receive Adapter 和单向Transmit Adapter两块,主要用于对多数据库,不同数据库类型的,居于多表同时更新,同步作业使用。
Receive Adapter的功能说明如下
根据条件读取数据库(oracle,sql server 或是所有支持Oledb的数据库)中表中数据并且可以通过设定外键约束和该主表关联的所有的子表的数据一起以标准的DataSet结构的XmlDocument导出到文件,或是进入Biztalk 定义的Orchestration处理;
具体配置说明如下:
ConnectionString:配置数据库连接字符窜;
Polling Interval:轮训时间
Polling Interval Unit 单位
ChildTableName 需要与主表关联所有子表表之间通过[,;|]隔开,同时也支持对表名作mapping,比如我要将ftable1在报文中表名叫childTable1那么输入ftable:childTable1,通过:分号隔开;
ForeignKey 主表被子表应用的外键,注意:目前必须是主表和子表中的字段名必须一致;
ParentTableName:选择的主表表名;
PollExpression:选择记录的条件,注意:不需要带 where,另外请不要使用日期型作为条件或是Blog类型
PostExpression:需要更新的结果,如果需要更新多列,请使用,;|隔开比如 f2=3;f3=4 注意勿需添加单引号;
RootElement:报文的根节点的名字;
TargetnameSpace:报文的名字空间;
Transmit Adapter功能说明如下
将一个符合DataSet标准格式的Xmldocument中的记录同步到相应的数据库(oracle,sql server 或是所有支持Oledb的数据库)中,可以和上文提供的Receive Adapter配合使用;
具体配置说明如下:
ConnectionString:配置数据库连接字符窜;
URL:标示唯一性
PrimaryKey:定义一个传进来的报文主表的关键字段,注意:该关键字段名必须也是所有子表的外键,并且名字一致;
PrimaryTableName:定义一个报文中的主表表名:
说明:该两个字段只有当报文中的表在数据库中没有定义约束及定义关键字得时候会用到,当某个子表在数据库没有定义关键字段是着通过主表的关键字段作为条件选择出所有的符合的记录并且删除,然后再将报文中的记录插入数据库;
TablesNameMapping:定义报文中提供的表名和数据库中的表名作一个转换,并且也可以做过滤用,如果填入具体的名字格式如下ChildTable1:ftable1,通过冒号来表明对应关系,通过逗号,分号来分隔表名,如果报文中而这里没有写明这表示不处理该表中的记录;
BefOperate:先对数据库中的记录进行删除,更新,什么都不作
AftOperate:然后将报文中的记录更新到数据库,还是新增,或是什么都不作
主要的类库结构如下