如何在SSIS中使用“foreach”列表集合

时间:2010-09-09 06:47:12

标签: ssis

如果变量属于List<>,如何使用foreach和“for each from variable enumerator”输入SSIS包。

1 个答案:

答案 0 :(得分:18)

您必须声明两个SSIS变量

  • 集合变量(For each enumerator的源代码)
  • 一个项目的变量(在枚举器中使用)

假设您有一个List<string>,您需要遍历其项目。 以下是如何操作的示例:

  1. 在SSIS变量窗口中创建名为“col”的变量,键入“object”
  2. 创建名为“s”的变量,输入“string”
  3. 创建一个示例脚本任务,该任务将填充“col”集合并将“User :: col”变量添加到任务列表ReadWriteVariables。脚本正文如下:

    List<string> col = new List<string>() {"One", "Two", "Three"};
    Dts.Variables["User::col"].Value = col;
    
  4. 创建一个Foreach循环容器并将其配置为在变量“User :: Col”上键入“From variable enumator”。

  5. Foreach容器变量映射中的
  6. 为“User :: s”变量
  7. 添加映射
  8. 在Foreach容器中创建一个示例脚本任务,演示消耗迭代(将“User :: s”添加到任务的ReadOnlyVariables)。脚本正文如下:

    string val = (string)Dts.Variables["User::s"].Value;
    MessageBox.Show(val);
    
  9. 按BIDS中的F5执行样本。它应该显示三个对话框,文本“One”,“Two”,“Three”。
  10. 注意:脚本示例使用c#编写,适用于BIDS 2008。