六.SSIS的控制流之Foreach循环容器[转载]

Foreach循环容器

Foreach循环容器定义包中的控制流。其循环的实现类似于编程语言中的Foreach循环结构。SQL Service Integration Services为Foreach容器提供了一下几种枚举类型

枚举器

配置要求

Foreach ADO

指定 ADO 对象源变量和枚举器模式。

Foreach ADO.NET 架构行集

指定与数据库的连接和要枚举的架构。

Foreach 文件

指定要枚举的文件夹和文件、检索到的文件的文件名格式,以及是否要遍历子文件夹。

Foreach 源变量

指定包含要枚举的对象的变量。

Foreach 项

定义 Foreach 项集合中的项,包括列和列数据类型。

Foreach Nodelist

指定 XML 文档的源并配置 XPath 操作。

Foreach SMO

指定与数据库的连接以及要枚举的 SMO 对象。

下面看看具体如何使用该控件。假如我们在D:\SampleData含有如下文件:

现在我们用Foreach容器遍历这些文件。

>创建一个名为”ForeachContainerDemo”的包。然后定义一个变量FileName,类型设置为String。

>按如下图拖放控件


>右击”遍历货币”单击编辑。按如下图配置信息

其中 文件属性中设置".txt"表示 读取指定目录下的所有txt文件。然改为a.txt表示读取目录下指定的文件。

>单击变量映射选项,配置如下:


该配置表示,每次遍历的文件名赋值给变量FileName.然后点击确定。至此Foreach容器配置完毕。

>配置脚本任务和上一篇配置相同。只是做如下改动即可。修改 ReadOnlyVariables属性值为“User::FileName”,并在Main函数中写下如下代码。

  string fileName = Dts.Variables["FileName"].Value.ToString();

   MessageBox.Show(fileName);

>执行包。将遍历所以文本文件。结束后的效果如下:

posted @ 2012-07-11 11:45  懒豆  阅读(1242)  评论(0编辑  收藏  举报