導出資料行封裝範例
「導出資料行」範例是處理封存之銷售交易的封裝。該封裝使用一個 OLE DB 來源、兩個「衍生的資料行」轉換、一個「排序」轉換和一個「彙總」轉換。使用「一般檔案」目的地,可以將結果傳送到一般檔案。
「導出資料行」範例封裝說明如何從資料表擷取資料、對資料執行數學運算、彙總資料值、排序資料,以及將資料寫入檔案。範例封裝亦使用封裝組態、變數和屬性運算式,將檔案位置動態更新為範例所撰寫的位置,並將檔案複製到該位置。
如果在非英文版的 Windows 上執行範例,則可能需要替代 Program Files 資料夾的當地語系化名稱,才能開啟或執行範例。
重要事項: |
---|
範例只供教育目的之用。它們不能用於實際執行環境,而且從來沒有在實際執行環境中測試過。Microsoft 不提供對這些範例的技術支援。 |
需求
執行此範例封裝需要進行下列動作:
- 範例封裝及其使用的資料檔必須安裝在本機硬碟上。
- 必須已安裝 AdventureWorks 資料庫並且對此資料庫具有系統管理權限。此範例會從範例 AdventureWorks 資料庫的 TransactionHistoryArchive 資料表擷取資料。依預設,此資料表會隨 AdventureWorks 資料庫一起安裝。
- 如果只想從命令列執行範例封裝,則必須安裝 SQL Server 2005 Integration Services (SSIS)。
- 若要在「SSIS 設計師」中開啟封裝並執行範例封裝,則必須安裝 Business Intelligence Development Studio。
如需有關如何安裝範例的詳細資訊,請參閱《SQL Server 線上叢書》中的<安裝範例 Integration Services 封裝>。若要取得最新版的範例,包括自 SQL Server 2005 原始發行版本以來所發佈的新範例,請參閱<SQL Server 2005 範例與範例資料庫 (2006 年 4 月)>(英文)。
範例封裝的位置
如果範例安裝於預設安裝位置,則「導出資料行」範例封裝位於下列資料夾中:
C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\CalculatedColumns Sample\CalculatedColumns\。
執行此範例封裝需要下列檔案。
檔案 | 描述 |
---|---|
CalculatedColumns.dtsx |
範例封裝。 |
results.txt |
一般檔案範例資料。 |
執行範例
從命令列使用 dtexec 公用程式可以執行封裝,或者也可以在 Business Intelligence Development Studio 中執行封裝。
如果使用非英文版的 Windows,則可能需要更新封裝中使用之任何檔案連接管理員的 ConnectionString 屬性,才能成功執行範例封裝。請確認連接管理員中使用的路徑在電腦上有效,如果需要的話,修改該路徑以使用 Program Files 資料夾的當地語系化名稱。
對於此範例,您可能必須更新 results.txt 連接管理員之 ConnectionString 屬性中的 "Program Files"。
若要使用 dtexec 執行封裝
開啟 [命令提示字元] 視窗。
使用**「變更目錄」**命令 (cd),將目錄變更為 C:\Program Files\Microsoft SQL Server\90\DTS\Binn,即 dtexec 的位置。
輸入以下命令:
dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx"
按 ENTER 鍵。
如需有關如何使用 dtexec 公用程式執行封裝的詳細資訊,請參閱《SQL Server 2005 線上叢書》中的<dtexec 公用程式>主題。
若要在 Business Intelligence Development Studio 中執行封裝
開啟 [Business Intelligence Development Studio]。
在 [檔案] 功能表上,指向 [開啟],然後按一下 [專案/方案]。
尋找 [CalculatedColumns Sample] 資料夾,然後連按兩下名為 CalculatedColumns.sln 的檔案。
在 [方案總管] 中,以滑鼠右鍵按一下 [SSIS 封裝] 資料夾中的 CalculatedColumns.dtsx,然後按一下 [執行封裝]。
範例中的元件
下表列出該範例中所使用的工作、容器、資料來源與目的地,以及轉換。
元素 | 用途 |
---|---|
資料流程工作 |
「資料流程」工作 Calculate Values 會執行封裝中的資料流程。 |
檔案系統工作 |
「檔案系統」工作 Copy File 會從 [Program Files] 中的安裝資料夾 (使用者通常沒有該資料夾的寫入權限),將 results.txt 複製到使用者的 [Temp] 資料夾。 |
OLE DB 來源 |
資料流程中的第一個元件是名為 Extract Data 的 OLE DB 來源。這會從 AdventureWorks 資料庫的 TransactionHistoryArchive 資料表中,載入封存的銷售交易來源資料。 |
「衍生的資料行」轉換 |
第一個「衍生的資料行」轉換名為 Calculate LineItemTotalCost。此轉換會建立新的資料行 LineItemTotalCost,方法是針對每一個銷售交易,將數量乘以成本,並將其儲存在新的資料行中。此新資料行隨後會加入每一個輸出資料列。 |
「彙總」轉換 |
「彙總」轉換 Sum Quantity and LineItemTotalCost 會按照 ProductID 資料行將資料分組,並針對每一個 ProductID,計算其 Quantity 資料行的總和,放入 QuantitySum 資料行,並計算 LineItemTotalCost 資料行的總和,放入 TotalCostByID 資料行。 |
「衍生的資料行」轉換 |
第二個「衍生的資料行」轉換 Calculate Average Cost 會將新的資料行 AvgCostByID 加入每一個輸出資料列。該資料行包含針對每一個 ProductID 由 QuantitySum 衍生的 TotalCostByID。 |
「排序」轉換 |
「排序」轉換 Sort by ProductID 會按照 ProductID 資料行對結果進行排序。 |
「一般檔案」目的地 |
「一般檔案」目的地 Load Data 會將資料儲存到一般檔案 results.txt 中。 |
檔案連接管理員 |
三個「檔案」連接管理員連接到來源、result.txt 檔案的副本和 Temp 目錄。 |
OLE DB 連接管理員 |
OLE DB 連接管理員 (local).AdventureWorks 會連接到本機伺服器上的 AdventureWorks 資料庫。 |
範例結果
「導出資料行」範例封裝的執行結果會儲存到位於 temp 目錄的文字檔。若要尋找電腦上的 temp 目錄,請依序按一下 [開始]、[執行],並輸入 %temp%,然後按一下 [確定]。這樣會開啟 [temp] 資料夾。在此資料夾中,尋找並開啟 results.txt。
此檔案的內容應符合資料夾 C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\CalculatedColumns Sample\CalculatedColumns 中 results.txt 檔案的內容。包含此預先填入的 results.txt 檔案是為在執行封裝之前列印或檢視之用。