控制流程
封裝由控制流程及選擇性的一個或多個資料流程所組成。 SQL Server Integration Services 提供三種不同類型的控制流程項目,分別是提供套件中結構的容器、提供功能的工作,以及將可執行檔、容器與工作連線成一個排序控制流程的優先順序條件約束。
如需相關資訊,請參閱 Precedence Constraints、 Integration Services Containers及 Integration Services Tasks。
下圖顯示具有一個容器和六個工作的控制流程。 其中五個工作是在封裝層級定義,另外有一個工作是在容器層級定義, 該工作會位在容器內。
Integration Services 架構支援巢狀容器,且控制流程中可包含多個層級的巢狀容器。 例如,封裝中可以包含諸如「Foreach 迴圈」容器,而該容器中可再包含另一個「Foreach 迴圈」容器,依此類推。
事件處理常式也有控制流程,而且是使用相同類型的控制流程元素來建立。
控制流程實作
您可以使用 SSIS 設計師中的 [控制流程] 索引標籤,在套件中建立控制流程。 當 [控制流程] 索引標籤作用中時,工具箱內會包含可加入控制流程的工作和容器。
下圖顯示控制流程設計師中某個簡單封裝的控制流程。 圖中顯示的控制流程由三個封裝層級的工作,和包含這三個工作的一個封裝層級容器組成。 使用優先順序條件約束連接工作與容器。
建立控制流程包括下列工作:
加入容器,該容器可以實作封裝中重複的工作流程,或將一個控制流程分割成幾個子集。
加入工作,該工作可支援資料流程、準備資料、執行工作流程和商業智慧功能,以及實作指令碼。
Integration Services 包括各種工作,您可以使用這些工作建立滿足套件商務需求的控制流程。 如果封裝必須使用資料,則控制流程必須至少包含一個「資料流程」工作。 例如,封裝可能必須擷取資料、彙總資料值,然後將結果寫入資料來源。 如需詳細資訊,請參閱 Integration Services 工作 和 在控制流程中加入或刪除工作或容器。
使用優先順序條件約束將容器與工作連接成一個排序控制流程。
將工作或容器新增至 [控制流程] 索引標籤的設計介面之後,SSIS 設計師會自動將連接器新增至該項目。 如果封裝包括兩個以上的項目、工作或容器,則您可透過將它們的連接子從一個項目拖曳至另一個項目,來將其聯結到控制流程中。
兩個項目之間的連接子代表一個優先順序條件約束。 優先順序條件約束定義兩個已連接項目之間的關聯性。 它指定在執行階段工作與容器的執行順序,以及執行工作與容器的條件約束。 例如,優先順序條件約束可以指定某個工作必須成功,然後才可以執行控制流程中的下一個工作。 如需詳細資訊,請參閱 優先順序條件約束。
加入連接管理員。
許多工作都需要連接到資料來源,因此您必須將工作所需的連接管理員加入封裝。 視其使用的列舉值類型而定,「Foreach 迴圈」容器也可能需要連接管理員。 您可以在逐項建構控制流程時,或在開始建構控制流程之前加入連接管理員。 如需詳細資訊,請參閱 Integration Services (SSIS) 連線和建立連線管理員。
SSIS 設計師還包括許多設計階段功能,您可以使用這些功能管理設計介面,並使控制流程可以自我記錄。