SSIS数据流更新

时间:2010-12-02 20:16:27

标签: ssis dataflowtask

我试图找出解决以下情况的最佳方法。

概述

付款在一天中收集并存储在表格(SQL Server)中。在每天结束时,这些付款将被导出并插入另一个数据库(Oracle)。成功插入Oracle数据库的付款将使用时间戳进行更新。

过程

步骤1 - 必须将每个支付记录与Oracle数据库进行匹配,以确保Oracle数据库中存在支付记录所引用的值。满足此步骤的付款向下移动。

第2步 - 付款被插入Oracle数据库,任何插入错误都被重定向到记录集。

方法

我正在使用OLEDB数据源进行付款(SQL Server)和查找值(Oracle),然后使用合并加入(左外部)将数据附加到付款。使用Merge Join结果中的条件拆分,我将与查找数据匹配的付款传递到OLEDB Destination。

我需要更新原始付款表格,只需将付款更改为插入付款。使用条件分割,我可以确定在步骤1中哪些行不匹配,并重定向最终插入的错误输出上的行,我可以确定哪些行在那里失败。但是,我没有看到确定成功插入的付款的最佳方法以及更新原始表格的最佳方式。

1 个答案:

答案 0 :(得分:1)

我可能会将成功付款记录的ID列表插入原始数据库中的临时表(使用多播+ OLE DB目标),然后运行存储过程或使用SQL查询任务更新原始表关于临时表中的值。然后,您可以在完成后截断或删除临时表。