SSIS在控制流任务之间传递数据源

时间:2011-09-27 15:43:01

标签: sql ssis

我遇到了解决这个小问题的麻烦,希望有人可以帮助我。

在我的SSIS包中,我有一个数据流任务。 这里发生了几种不同的变换,合并和转换。

在数据流任务结束时,有两个数据集,一个包含两个需要比较的数字,另一个数据集包含一堆记录。

理想情况下,我希望将这些传递给一个全新的数据流任务(单独的序列容器),在那里我可以对它进行一些验证工作并分离逻辑。

我不能为我的生活弄清楚如何去做。我试图查看脚本并将数据集存储为变量,但我不确定这是正确的方法。

下一步是将大型数据集导出为电子表格,但在此之前我需要比较其他数据集中的两个数字并确保它们是正确的。

2 个答案:

答案 0 :(得分:7)

要将一个数据流中的数据传递到另一个数据流,您必须拥有一个临时位置。

这意味着您必须将数据放在一个数据流中的目标中,然后在另一个数据流中读取该数据。

您可以将数据放入目的地数量:

  • 数据库表
  • 原始文件
  • 平面文件
  • 数据集变量(记录集目标)
  • 您可以使用相应的源组件或通过编写脚本或其他任何内容
  • 读取的任何其他目标组件

原始文件旨在用于此类案例。它们是二进制的,因此它们写入和读取的速度非常快。

如果您坚持使用记录集目的地,请查看http://consultingblogs.emc.com/jamiethomson/archive/2006/01/04/SSIS_3A00_-Recordsets-instead-of-raw-files.aspx,因为没有记录集源组件。

答案 1 :(得分:0)

数据流任务需要有一个目的地;数据流任务同样不是目的地。否则,数据不会进入管道中的任何位置。根据我的经验,你最好的赌注是:

1)将数据泵入SQL Server中的临时表,然后从那里获取验证。 2)在同一数据流任务中进行验证。