上一篇介绍了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容器控件的使用。顺便介绍一下序列容器控件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构