3

我有一个包含 foreach 文件枚举器的包。现在我有一个名为的变量EmailTo,它由放置在循环容器之前的 foreach 容器外部的执行 sql 任务填充,因为我只需要运行一次执行 sql 任务。EmailToforeach 容器内的发送邮件任务正在访问该变量。当我检查断点时。我了解到在 foreach 容器中 EmailTo 变量的值为 null。这是为什么?

目前,我将执行 sql 任务移到了 foreach 容器中以使其工作,因为我必须将它呈现给我的老板,但是没有必要在循环中移动执行 sql 任务,因为我只需要获取一次电子邮件。

我应该怎么办。

4

1 回答 1

2

当您将 Execute SQL 任务 Full ResultSet 存储在变量中时,它会存储为 Recordset。

一个 Recordset 可以被消费一次;如果它被发送邮件任务使用,那么您不能再次使用它。

您可以使用脚本任务将 Recordset 复制到 DataTable 对象中并将其存储在 SSIS 对象变量中。然后你可以多次使用它。

附加信息

于 2019-08-06T07:28:41.957 回答