首页 文章

SSIS数据流更新

提问于
浏览
2

我试图找出解决以下场景的最佳方法 .

Overview

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

Process

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

步骤2 - 将付款插入Oracle数据库,任何插入错误都会重定向到记录集 .

Approach

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

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

1 回答

  • 1

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

相关问题