我正在使用更新查询将DTS更新查找转换为SSIS查找。到目前为止它似乎没有用。
OLD DTS ACTIVE X CODE:
value = DTSLookups(“apple”)。执行(DTSSource(“ID2”))
DTS中的SQL查询:
UPDATE TABLE1 SET STAMP =“TEST”WHERE(ID =?)
在SSIS中:
创建查找,使用相同的上述查询,如果单击列,我会收到错误:“参数信息无法从SQL语句派生。在准备命令之前设置参数信息”
无论如何,在SSIS中通过查找完成此操作?或者,还有更好的方法?
答案 0 :(得分:4)
要在SSIS中执行更新,您需要查看OLE DB transformation,因为它可以让您按预期进行更新。
但是,您不想使用OLE DB转换,因为它将为流经数据流的每个血腥行触发单例更新语句,并且您的性能将非常糟糕。相反,对于所有需要更新的行,请使用条件拆分并将它们重定向到临时表。在数据流之后,连接执行SQL任务以执行需要修复的所有行的批量更新。你的数据库会感谢你。 Andy Leonard是一个很好的资源,这是他所做的一篇文章,描述了他的incremental load pattern