在課程 1:建立專案和基本套件中,您已建立套件,從單一一般檔案來源擷取數據,使用查閱轉換,然後轉換數據,最後將數據載入 AdventureWorksDW2012 範例資料庫的 FactCurrency 事實表。
不過,擷取、轉換和載入 (ETL) 程式很少使用單一一式檔案。 典型的 ETL 程式會從多個一般檔案來源擷取數據。 從多個來源擷取數據需要反覆的控制流程。 Microsoft Integration Services 最期待的功能之一,就是能夠輕鬆地將反覆專案或迴圈新增至套件。
Integration Services 提供兩種類型的容器來循環處理封包:Foreach 迴圈容器和 For 迴圈容器。 Foreach 迴圈容器會使用列舉值來執行迴圈,而 For 迴圈容器通常會使用變數表達式。 本課程使用 Foreach 迴圈容器。
Foreach 迴圈容器可讓封裝針對指定列舉值的每個成員重複控制流程。 使用 Foreach 迴圈容器,您可以列舉:
ADO 記錄集數據列
ADO .Net 架構資訊
檔案和目錄結構
系統、封裝和用戶變數
變數中包含的可列舉物件
集合中的項目
XML 路徑語言(XPath)中的節點表達式
SQL Server 管理物件 (SMO)
在這一課,您將修改第 1 課中建立的簡單 ETL 套件,以利用 Foreach 循環容器。 您也會設定使用者定義的套件變數,讓教學課程套件逐一查看資料夾中的所有一般檔案。 如果您尚未完成上一課,您也可以複製教學課程隨附的已完成第 1 課套件。
在這一課,您不會修改數據流,只修改控制流程。
這很重要
本教學課程需要 AdventureWorksDW2012 範例資料庫。 如需如何安裝和部署 AdventureWorksDW2012 的詳細資訊,請參閱 CodePlex 上的 Reporting Services 產品範例。
課程任務
本課程包含下列工作: