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 中通过查找来完成这个任务?或者,还有更好的方法?
要在 SSIS 中执行更新,您需要查看OLE DB 转换,因为它将允许您按预期进行更新。
但是,您不想使用 OLE DB 转换,因为它会为流经数据流的每个血腥行触发单例更新语句,并且您的性能将非常糟糕。相反,对于需要更新的所有行,使用条件拆分并将它们重定向到临时表。在数据流之后,连接一个执行 SQL 任务来执行所有需要修复的行的批量更新。你的数据库会感谢你。Andy Leonard是一个很好的入门资源,这是他写的一篇文章,描述了他的增量加载模式