SSIS 2005 - 在数据流中的OLE DB源中具有UPDATE *和* SELECT

时间:2012-04-13 20:38:07

标签: sql ssis dataflowtask

这可能是一个愚蠢的问题,但我有一个数据流任务,OLE DB源和平面文件目的地。

在我的OLE DB源代码中,我想要一个UPDATE语句,然后是一个SELECT。当我这样做时,我似乎没有将任何行写入我的平面文件。顺便说一句,我这样做是为了确保如果我的选择失败,我的更新不会发生。 (我打算将这两个语句放在BEGIN TRAN和COMMIT之间。)

不幸的是我不能使用SSIS事务,因为运行SSIS的服务器没有运行DTC服务。

2 个答案:

答案 0 :(得分:0)

假设您所需的序列是SELECT - >更新 - > WRITE_TO_FLAT_FILE,使用OLE DB Source进行选择,然后使用OLE DB命令进行更新。最后,使用您的平面文件目标来写出数据。

在OLE DB Source中,将Error Output设置为'fail component'或'redirect rows';任何一个都允许你避免后续的更新命令。

答案 1 :(得分:0)

您必须对控制流程进行更新。

使用update命令添加执行SQL任务,将绿色箭头从任务拖到数据流组件,在数据流中,您将拥有oleDBSource和平面文件目标