如何配置 Foreach 循环容器
此过程介绍如何配置 Foreach 循环容器,包括如何在枚举器级和容器级上配置属性表达式。
配置 Foreach 循环容器
在 Business Intelligence Development Studio 中,打开包含所需包的 Integration Services 项目。
单击**“控制流”**选项卡,然后双击 Foreach 循环。
在**“Foreach 循环编辑器”对话框中,单击“常规”**,并且,根据需要还可以修改 Foreach 循环的名称和说明。
单击**“集合”,然后从“枚举器”**列表中选择一个枚举器类型。
指定一个枚举器并对枚举器选项进行如下设置:
- 若要使用 Foreach 文件枚举器,请提供包含要枚举的文件的文件夹,指定文件名和文件类型筛选器,并指定是否返回完全合格的文件名。另外,还请指定是否包含子文件夹,以枚举更多文件。
- 若要使用 Foreach 项枚举器,请单击**“列”,然后在“For Each Item 列”对话框中,单击“添加”来添加列。在“数据类型”列表中为每个列选择一个数据类型,然后单击“确定”**。
在列中键入值或从列表中选择值。注意: 若要添加新行,请在刚才输入的单元格之外,单击任一位置。 注意: 如果值与列数据类型不兼容,文本将以红色显示。 - 若要使用 Foreach ADO 枚举器,请选择一个现有的变量,或在**“ADO 对象源变量”列表,单击“新建变量”来指定包含要枚举 ADO 对象名的变量,然后选择一个枚举模式选项。
如果要创建新变量,请在“添加变量”**对话框中设置该变量的属性。 - 若要使用 Foreach ADO.NET 架构行集枚举器,请选择一个现有的 ADO.NET 连接,或在**“连接”列表中,单击“新建连接”,然后选择一个架构。
也可以单击“限制”,选择架构限制,选择包含限制值的变量,或直接键入限制值,然后单击“确定”**。 - 若要使用 Foreach 源变量枚举器,请在**“变量”**列表中选择变量。
- 若要使用 Foreach NodeList 枚举器,请单击 DocumentSourceType 并从列表中选择源类型,然后单击 DocumentSource.。取决于为 DocumentSourceType 选择的值,请从列表中选择变量或文件连接,或创建新变量或文件连接,或在**“文档源编辑器”中键入 XML 源代码。
下一步,单击 EnumerationType,然后从列表中选择一个枚举类型。如果 EnumerationType 是“Navigator、Node 或 NodeText”,请单击 OuterXPathStringSourceType 和选择源类型,然后单击 OuterXPathString.。取决于为 OuterXPathStringSourceType 设置的值,请从列表中选择变量或文件连接,或创建新的变量或文件连接,或键入外部 XML 路径语言 (XPath) 表达式的字符串。
如果 EnumerationType 是“ElementCollection”**,请按照上面的说明设置 OuterXPathStringSourceType 和 OuterXPathString。然后,单击 InnerElementType 并选择内部元素的枚举类型,然后单击 InnerXPathStringSourceType。取决于为 InnerXPathStringSourceType 设置的值,请选择变量或文件连接,或创建新的变量或文件连接,或键入内部 XPath 表达式的字符串。 - 若要使用 Foreach SMO 枚举器,请选择一个现有的 ADO.NET 连接,或在**“连接”列表中,单击“新建连接”,然后键入需要的字符串或单击“浏览”。如果选择单击“浏览”,则请在“选择 SMO 枚举”**对话框中,选择要枚举的对象类型和枚举类型,然后单击 “确定”。
也可以单击在**“集合”页上的“表达式”**文本框中的浏览按钮 (…) 以创建可用于更新属性值的表达式。有关详细信息,请参阅如何创建属性表达式。
注意: 在“属性”列表中列出的属性因枚举器而异。 也可以单击**“变量映射”**,将对象属性映射到集合值,然后进行下列操作:
- 在**“变量”列表中,选择一个变量,或者单击“<新建变量>”**创建一个新变量。
- 如果要添加新变量,那么请在**“添加变量”对话框中设置该变量的属性,然后单击“确定”**。
- 如果使用 For Each Item 枚举器,可以在**“索引”**列表中来更新索引值。
注意: 该索引值指示项中哪个列将映射到变量。只有 For Each Item 枚举器可以使用 0 以外的索引值。
也可以单击**“表达式”,然后在“表达式”**页上,为 Foreach 循环容器的属性创建属性表达式。有关详细信息,请参阅如何创建属性表达式。
单击**“确定”**。