Share via


執行多個資料表的累加式載入

利用異動資料擷取改善累加式載入主題中,圖表會說明只在一個資料表上執行累加式載入的基本封裝。 不過,載入一個資料表不如必須執行多個資料表的累加式載入那麼常見。

執行多個資料表的累加式載入時,會針對所有資料表執行一次某些步驟,而且必須針對每個來源資料表重複其他步驟。 您在 Integration Services 中實作這些步驟時有一個以上的選擇。

  • 使用父封裝和子封裝。

  • 在單一封裝中使用多個資料流程工作。

使用父封裝和多個子封裝載入多個資料表

您可以使用父封裝來執行僅需要執行一次的步驟。 子封裝將會執行必須針對每個來源資料表執行的步驟。

建立父封裝,執行僅需要執行一次的步驟

  1. 建立父封裝。

  2. 在控制流程中,使用「執行 SQL」工作或 Integration Services 運算式來計算端點。

    如需有關如何計算端點的範例,請參閱<指定變更資料的間隔>。

  3. 如果需要,使用「For 迴圈」容器延遲執行,直到所選期間的變更資料就緒為止。

    如需此類「For 迴圈」容器的範例,請參閱<判斷變更資料是否就緒>。

  4. 使用多個「執行封裝」工作,針對每個要載入的資料表執行子封裝。 使用「父封裝變數」組態,將父封裝中計算的端點傳遞到每個子封裝。

    如需詳細資訊,請參閱<執行封裝工作>和<在子封裝中使用變數和參數的值>。

建立子封裝來執行必須針對每個來源資料表執行的步驟

  1. 針對每個來源資料表建立子封裝。

  2. 在控制流程中,使用「指令碼」工作或「執行 SQL」工作來組合將用於查詢變更的 SQL 陳述式。

    如需如何組合查詢的範例,請參閱<準備查詢變更資料>。

  3. 使用每個子封裝中的單一「資料流程」工作來載入變更資料,並將其套用到目的地。 設定「資料流程」,如下列步驟所述:

    1. 在資料流程中,使用來源元件來查詢所選端點內之變更的變更資料表。

      如需如何查詢變更資料表的範例,請參閱<擷取與了解變更資料>。

    2. 使用「條件式分割」轉換,將插入、更新與刪除導引到不同的輸出以便進行適當的處理。

      如需如何設定此轉換以導引輸出的範例,請參閱<處理插入、更新與刪除>。

    3. 使用目的地元件,將插入套用到目的地。 搭配參數化的 UPDATE 和 DELETE 陳述式使用「OLE DB 命令」轉換,將更新與刪除套用到目的地。

      如需如何使用此轉換來套用更新與刪除的範例,請參閱<將變更套用到目的地>。

在單一封裝中使用多個資料流程工作來載入多個資料表

或者,您可以使用包含要載入的每個來源資料表之個別「資料流程」工作的單一封裝。

在單一封裝中使用多個資料流程工作載入多個資料表

  1. 建立單一封裝。

  2. 在控制流程中,使用「執行 SQL」工作或 Integration Services 運算式來計算端點。

    如需有關如何計算端點的範例,請參閱<指定變更資料的間隔>。

  3. 如果需要,使用「For 迴圈」容器延遲執行,直到所選間隔的變更資料就緒為止。

    如需此類「For 迴圈」容器的範例,請參閱<判斷變更資料是否就緒>。

  4. 使用「指令碼」工作或「執行 SQL」工作來組合將用於查詢變更的 SQL 陳述式。

    如需如何組合查詢的範例,請參閱<準備查詢變更資料>。

  5. 使用多個「資料流程」工作,從每個來源資料表載入變更資料,並將其套用到目的地。 設定每個「資料流程」工作,如下列步驟所述。

    1. 在每個資料流程中,使用來源元件來查詢所選端點內之變更的變更資料表。

      如需如何查詢變更資料表的範例,請參閱<擷取與了解變更資料>。

    2. 使用「條件式分割」轉換,將插入、更新與刪除導引到不同的輸出以便進行適當的處理。

      如需如何設定此轉換以導引輸出的範例,請參閱<處理插入、更新與刪除>。

    3. 使用目的地元件,將插入套用到目的地。 搭配參數化的 UPDATE 和 DELETE 陳述式使用「OLE DB 命令」轉換,將更新與刪除套用到目的地。

      如需如何使用此轉換來套用更新與刪除的範例,請參閱<將變更套用到目的地>。

Integration Services 圖示 (小) 掌握 Integration Services 的最新狀態

如需取得 Microsoft 的最新下載、文件、範例和影片以及社群的精選解決方案,請瀏覽 MSDN 上的 Integration Services 頁面:


若要得到這些更新的自動通知,請訂閱該頁面上所提供的 RSS 摘要。