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

Rah*_*shi 12 ssis

如果变量是SSIS包中的List <>类型,如何使用foreach和"for each from variable enumator".

Jan*_*ola 19

您必须声明两个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;
    
    Run Code Online (Sandbox Code Playgroud)
  4. 创建一个Foreach循环容器并将其配置为在变量"User :: Col"上键入"From variable enumator".

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

    string val = (string)Dts.Variables["User::s"].Value;
    MessageBox.Show(val);
    
    Run Code Online (Sandbox Code Playgroud)
  7. 按BIDS中的F5执行样本.它应该显示三个对话框,文本"One","Two","Three".

注意:脚本示例使用c#编写,适用于BIDS 2008.