SSIS 同步不同数据库的不同两张表

时间:2021-02-18 14:55:24

 

最近遇到个棘手的问题,老板要求用ETL实现不同数据库之间的同步,不能使用TRIGGER。只能使用ETL作业。

条件是:不同数据库的两张不同的表。通过以下方法,处理速度是最快的。

处理INSERT功能是如下:

SSIS 同步不同数据库的不同两张表

1)使用merge join 连接要处理的两张表,找出要处理的数据集合。

2) 使用多播和条件判断要处理的数据集。

3)将不同的表中增加数据。表A 中增加的数据加入到表B,表B中增加的数据加入到表A中。

Update 处理过程如下:

SSIS 同步不同数据库的不同两张表

1)通过Merge来找到要处理的数据集。

2)原始的数据表中纯在timestamp字段,ssis 没有办法处理,只能将其转换为CHAR类型

3)通过Command完成每行的更新。