SSIS中的记录集操作

问题描述:

在我的SSIS作业中,我需要累积一组行并在处理成功完成时全部过渡地提交它们。如果这是纯SQL,我会在事务中使用临时表。在SSIS中有一些问题复杂化。很难让多个组件共享相同的事务,并且让临时表在设计时不存在是一件痛苦的事情。SSIS中的记录集操作

如果我在SSIS中使用记录集用于此目的,还有其他问题。我的理解是,'Execute SQL'组件在运行时会重新初始化Recordset,所以我不能用它来附加额外的行。有没有办法创建一个引用内存中的记录集的OLE DB连接?

有没有更好的方法来达到这个结果?

有一个更好的方法。我建议使用临时表,就像你说过的那样试过/考虑过。通过SSIS使用临时表的关键是: 1.您需要在连接管理器上将“保留相同连接”属性设置为true,否则“智能”连接管理和池将最终放弃连接(并恢复它没有临时表)在你的包中途。 2.您需要使用已创建的临时表来设计包装 - 即使您必须将其创建为常规表格才能进行设计。当您准备好部署时,更改触摸它的组件中的表名,并将这些任务的DelayValidation属性设置为False。 (这将防止程序包失败,因为程序包最初启动时该表不存在。)