前文回顾:

SSIS从理论到实战,再到应用(1)–创建自己的第一个包

上次说到创建了自己的第一个包,完成了简单的数据从数据库=>数据库,以及Excel文件=>数据库过程,这一次咱们回看看一个包里面到底有哪些好玩的元素构成:

咱们一般写过代码的人都知道,很多的看似很复杂的功能都是由:顺序,选择,循环构成的。SSIS也不例外,咱们可以看到SSIS包里面工具选项卡里面已经写出他的本质了:

SSIS包里面功能元素包含以下图所示:

控制流元素:控制包的整体执行顺序,以及执行方式

数据流元素:控制数据Load(数据从哪里来,到哪里去)

我们先来看看控制流元素:SQL Server Integration Services 提供包中结构的容器、提供功能的任务以及将可执行文件、容器和任务连接为已排序控制流的优先约束三个组成部分:

一个包就这样通过拖拖控制,连连鼠标就实现了,是不是很简单?

图中的线表示:连接两个容器(控件),按照线(约束)的条件实现执行按照箭头所指的执行方向。和我们画的流程图没有太大的区别

图中的容器:指的是一个可执行的功能,表示该控件可以执行某种功能。

MSDN关于控制流是如下解释的:

创建控制流包含下列任务:

  • 添加在包中实现重复的工作流或将控制流划分为子集的容器。

  • 添加支持数据流、准备数据、执行工作流和商业智能功能以及实现脚本的任务。

    Integration Services 包含了多种任务,可以用其创建满足包的业务要求的控制流。 如果包必须使用数据,则控制流必须包含至少一个数据流任务。 例如,包可能必须提取数据、聚合数据值,然后将结果写入到数据源。 <span id=“mt21” class=“sentence” data-source=“For more information, see Integration Services Tasks and Add or Delete a Task or a Container in a Control Flow.” data-guid=“63bdca7809e6802e9ef7342ae8fd878b”>有关详细信息,请参阅 Integration Services 任务在控制流中添加或删除任务或容器

  • 使用优先约束把容器和任务连接为有序控制流。

    <span id=“mt23” class=“sentence” data-source=“After you add a task or container to the design surface of the Control Flow tab, SSIS Designer automatically adds a connector to the item.” data-guid=“fc94138ed9a23c03006ad3ffc68b013b”>将任务或容器添加到“控制流”选项卡的设计图面后,SSIS 设计器自动将连接线添加到项。 如果包中包含两个或更多项、任务或容器,则可以通过将它们的连接线从一项拖动到其他项而将它们联接成控制流。

    两个项之间的连接器表示优先约束。 优先约束定义了两个连接项之间的关系。 它指定了运行时任务和容器的执行顺序以及任务和容器的运行条件。 例如,优先约束可以指定某任务必须成功,才能运行控制流中的下一个任务。 <span id=“mt29” class=“sentence” data-source=“For more information, see Precedence Constraints.” data-guid=“e87ac665ecd4d5048445bbed1b418adc”>有关详细信息,请参阅优先约束

  • 添加连接管理器。

    多个任务需要连接到数据源,因此必须将任务需要的连接管理器添加到包。 根据所使用的枚举器类型,Foreach 循环容器可能也需要连接管理器。 可以在逐项构造控制流时或开始构造控制流前添加连接管理器。 <span id=“mt34” class=“sentence” data-source=“For more information, see Integration Services (SSIS) Connections and Create Connection Managers.” data-guid=“67c9ddb3d1ce837af3847a4b54fb8363″>有关详细信息,请参阅 Integration Services (SSIS) 连接创建连接管理器

下一期,SSIS包控制流的变量,约束,常用容器详解