我有一个SSIS包,我需要执行一个usp,检查从usp返回的行计数,如果For Each循环中的行计数不为0,则使用usp的结果。我想通过只调用一次DB来做到这一点,但我无法弄清楚如何。现在我正在使用带有OLE DB源的数据流任务来执行usp。然后,我有一个行计数任务来获取计数并将其分配给变量。在我的控制流程中,我然后使用这个变量作为每个循环的表达式,这是有效的,但是我不知道如何实际循环查询结果,因为它当前没有分配给任何东西。我正在考虑将OLE DB源分配给变量,但我不知道该怎么做,所以我也对其他选项持开放态度。
以下是我目前的情况:
控制流程:
数据流:
答案 0 :(得分:0)
可能有更好的解决方案,但不知道您的应用程序并按照您的尝试解决方案,我建议您使用记录集目的地:
您需要创建一个object类型的变量来保存记录集。您可以在为每个ADO枚举设置的for循环中读取该变量: