博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSIS的控制流之Foreach循环容器和序列容器
阅读量:5141 次
发布时间:2019-06-13

本文共 1327 字,大约阅读时间需要 4 分钟。

上一篇介绍了For循环容器的使用。本篇将介绍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);

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

序列容器

序列容器是一种十分简单,但使用非常广泛的容器,它可以对控制流的任务流组件进行结构化处理,把一些业务相关的任务组件,放到一个序列容器中,使整个包看起来更加整洁、美观,就如同我们家里的书柜、衣柜似的,把不同种类的东西整理在里面,收藏起来,既美观,又易于取用。它是将一个或多个控件作为一个工作单元来处理。例如:

在图中名为“Prepare New DataBase”的序列容器包含三个执行Sql任务的控件。是将这三个控件组合成一个控件。只有三个控件都执行成功后,才能继续执行下面的流程。序列容器的作用就是这些。不需要配置,也不要编写代码。只要将控件拖放到序列容器即可。有点类似我们C# 中用户控件一样。

到此本篇的内容就结束。主要是介绍For容器控件的使用。顺便介绍一下序列容器控件。

转载于:https://www.cnblogs.com/gudujianxiao/archive/2012/02/10/2345333.html

你可能感兴趣的文章
OD使用教程9 - 调试篇09|解密系列
查看>>
外中断01 - 零基础入门学习汇编语言69
查看>>
PE格式详细讲解11 - 系统篇11|解密系列
查看>>
Qt532_自定义QWebView_01
查看>>
QtTCP_ZC
查看>>
iphone应用程序生命周期浅析
查看>>
Git 中 SSH key 生成步骤
查看>>
ActiveMQ消息游标 --转载
查看>>
Expectation Maximization and GMM
查看>>
Java语言基础-多线程
查看>>
ArcGIS中的坐标系定义与转换 (转载)
查看>>
Nginx 负载平衡 支持域名转发的方法
查看>>
[转]Extjs combo数据绑定与获取
查看>>
spring Controller 层注解获取 properties 里面的值
查看>>
Element-ui多选下拉实现全部与其他互斥
查看>>
获取页面中触发焦点的元素
查看>>
数据结构开发(16):选择排序和插入排序
查看>>
数据结构开发(22):二叉树的转换、深层特性与存储结构设计
查看>>
Sphinx编译docs文档
查看>>
react native 8081 端口号被占
查看>>