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

tdj*_*jdj 1 sql vb.net ssis dts activex

我正在将 DTS 更新查找转换为带有更新查询的 SSIS 查找。到目前为止,它似乎不起作用。

旧的 DTS 活动 X 代码:

value = DTSLookups("apple").Execute(DTSSource("ID2"))

DTS 中的 SQL 查询:

UPDATE TABLE1 SET STAMP="TEST" WHERE (ID = ?)

在 SSIS 中:

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

有没有办法在 SSIS 中通过查找来完成这个任务?或者,还有更好的方法?

bil*_*nkc 5

老办法

要在 SSIS 中执行更新,您需要查看OLE DB 转换,因为它将允许您按预期进行更新。

更好的方法

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