前文回顧:
SSIS從理論到實戰,再到應用(1)----創建自己的第一個包
上次說到創建了自己的第一個包,完成了簡單的數據從數據庫=>數據庫,以及Excel文件=>數據庫過程,這一次咱們回看看一個包里面到底有哪些好玩的元素構成:
咱們一般寫過代碼的人都知道,很多的看似很復雜的功能都是由:順序,選擇,循環構成的。SSIS也不例外,咱們可以看到SSIS包里面工具選項卡里面已經寫出他的本質了:
SSIS包里面功能元素包含以下圖所示:
控制流元素:控制包的整體執行順序,以及執行方式
數據流元素:控制數據Load(數據從哪里來,到哪里去)
我們先來看看控制流元素:SQL Server Integration Services 提供包中結構的容器、提供功能的任務以及將可執行文件、容器和任務連接為已排序控制流的優先約束三個組成部分:
一個包就這樣通過拖拖控制,連連鼠標就實現了,是不是很簡單?
圖中的線表示:連接兩個容器(控件),按照線(約束)的條件實現執行按照箭頭所指的執行方向。和我們畫的流程圖沒有太大的區別
圖中的容器:指的是一個可執行的功能,表示該控件可以執行某種功能。
MSDN關於控制流是如下解釋的:
創建控制流包含下列任務:
-
添加在包中實現重復的工作流或將控制流划分為子集的容器。
-
添加支持數據流、准備數據、執行工作流和商業智能功能以及實現腳本的任務。
Integration Services 包含了多種任務,可以用其創建滿足包的業務要求的控制流。 如果包必須使用數據,則控制流必須包含至少一個數據流任務。 例如,包可能必須提取數據、聚合數據值,然后將結果寫入到數據源。 有關詳細信息,請參閱 Integration Services 任務和在控制流中添加或刪除任務或容器。
-
使用優先約束把容器和任務連接為有序控制流。
將任務或容器添加到“控制流”選項卡的設計圖面后,SSIS 設計器自動將連接線添加到項。 如果包中包含兩個或更多項、任務或容器,則可以通過將它們的連接線從一項拖動到其他項而將它們聯接成控制流。
兩個項之間的連接器表示優先約束。 優先約束定義了兩個連接項之間的關系。 它指定了運行時任務和容器的執行順序以及任務和容器的運行條件。 例如,優先約束可以指定某任務必須成功,才能運行控制流中的下一個任務。 有關詳細信息,請參閱優先約束。
-
添加連接管理器。
多個任務需要連接到數據源,因此必須將任務需要的連接管理器添加到包。 根據所使用的枚舉器類型,Foreach 循環容器可能也需要連接管理器。 可以在逐項構造控制流時或開始構造控制流前添加連接管理器。 有關詳細信息,請參閱 Integration Services (SSIS) 連接和創建連接管理器。
下一期,SSIS包控制流的變量,約束,常用容器詳解