可以使用更新进行SSIS查找吗?

时间:2011-09-16 17:58:01

标签: sql vb.net ssis activex dts

我正在使用更新查询将DTS更新查找转换为SSIS查找。到目前为止它似乎没有用。

OLD DTS ACTIVE X CODE:

value = DTSLookups(“apple”)。执行(DTSSource(“ID2”))

DTS中的SQL查询:

UPDATE TABLE1 SET STAMP =“TEST”WHERE(ID =?)

在SSIS中:

创建查找,使用相同的上述查询,如果单击列,我会收到错误:“参数信息无法从SQL语句派生。在准备命令之前设置参数信息”

无论如何,在SSIS中通过查找完成此操作?或者,还有更好的方法?

1 个答案:

答案 0 :(得分:4)

旧路

要在SSIS中执行更新,您需要查看OLE DB transformation,因为它可以让您按预期进行更新。

更好的方式

但是,您不想使用OLE DB转换,因为它将为流经数据流的每个血腥行触发单例更新语句,并且您的性能将非常糟糕。相反,对于所有需要更新的行,请使用条件拆分并将它们重定向到临时表。在数据流之后,连接执行SQL任务以执行需要修复的所有行的批量更新。你的数据库会感谢你。 Andy Leonard是一个很好的资源,这是他所做的一篇文章,描述了他的incremental load pattern