SSIS ForEach - 获取集合的当前值

SSIS ForEach - Get current value of collection

我有一个从 ADO.NET SQL 查询填充的变量 User:AllBatches(对象)。 SQL 查询 returns 单列整数。 我包裹的那部分正在工作。

下一步是使用 User:AllBatches 作为变量枚举器的 ForEach 循环。

在变量映射部分选择一个变量映射到集合变量索引 0。但是,如果我选择 Object 以外的任何变量类型,程序包就会出错。

如果我选择一个对象变量,那么我的 SQL 任务会因参数绑定上不支持的数据类型而失败,然后我无法获取要在 SQL 任务中使用的对象的值循环。

如果我将它设置为 Int32,那么我会得到 The Tyoe of the Variable (DBNULL) differents from the current variable type (INT32)。

如果变量集合映射仅支持对象类型,我该如何从该输出对象变量中获取 INTEGER 值。

您不必使用变量枚举器,而必须使用ADO 枚举器,并且select循环第一个 table 中的行。检查以下示例:

请注意,执行 SQL 任务结果作为 ADO 记录集存储在对象变量中。另一方面,变量枚举器用于循环包含从脚本生成的列表或数组的对象变量。

您可以在以下内容中阅读有关枚举器类型的更多信息link: