SSIS Development Studio 环境介绍

yugouai

贡献于2014-11-05

字数:0 关键词:

2 SSIS Development Studio 環境介紹 SSIS 提供內嵌在 Visual Studio 2005 內的封裝(package)整合開發環 境,讓你可以用所見即所得的方式,快速建立封裝、偵測設定錯誤、互 動地呈現執行狀況、提供方便的除錯環境、設定執行記錄、替專案電子 簽章,並提供專案管理的方式來統整相關的封裝⋯等,功能繁多,將 SSIS 的封裝開發環境融合在 Visual Studio 2005 這個怪獸中,是蠻貼 合的J。 本章將透過簡單的範例介紹 SSIS 導入的使用者介面「SSIS 設計師」, 並透過這個工具設計,建立Integration Services 封裝。部署及管理封裝 的部份我們留待下一章介紹。 C H A P T E R 2 2.1 Integration Services 專案 「SSIS 設計師」裝載於 Business Intelligence Development Studio (以 下簡稱BIDS)中,它是一個用來開發商務智慧方案 的整合式環境。BIDS 就是在 Visual Studio 2005 內支援 SSIS、Analysis Services、Reporting Services 等數種專案類型的開發與維護。由於BIDS 或 Visual Studio 2005 可以同時設計多種物件,它泛指整個應用程式或相關物件的開發環境。 2.1.1 建立專案 透過「開始」→「Microsoft SQL Server 2005」→「SQL Server Business Intelligence Development Studio」這個路徑可啟動開發環境。若同 時有安裝Visual Studio 2005,也可透過「開始」→「Microsoft Visual Studio 2005」→「Microsoft Visual Studio 2005」路徑開啟開發環境。 因為 BIDS 相關檔案安裝在C:\Program Files\Microsoft Visual Studio 8 \Common7\IDE 目錄下,執行檔為 devenv.exe,換句話說 BIDS 使用的 執行檔與 Visual Studio 2005 是相同的。 接 著 透 過 主 選 單 上 的 「 檔 案 」 → 「 新 增 」 → 「 專 案 」 選 項 建 立 新 的 Integration Services 專案。然後,在圖2-1 「新增專案」對話窗的的左上 方「專案類型」視窗選擇「商務智慧專案」節點,在右上方「範本」視窗 中選擇「Integration Services 專案」,並在下方指定專案名稱、存放目錄 路徑以及方案名稱 後,按下「確定」鍵後就可以開始設計 SSIS 封裝。 1 2 1: 包括 Analysis Services 2005 的資料庫、Cube、維度、資料來源、Reporting Services 的報表、報表模型,和 Integration Services 的封裝等。 2: 預設在你鍵入專案名稱時,方案名稱會自動更新,讓其與專案名稱一致。但你 可以在方案名稱中另行鍵入不一樣的名字。 26 S S I S D e v e l o p m e n t S t u d i o 環 境 介 紹 SQL Server 2005 SSIS 整合服務 這時 BIDS 會在圖2-1 下方「位置」所指定的目錄建立一個與「方案名稱」 相同的子目錄,在其內放置一個方案檔(副檔名為 .sln),並在該目錄下再 加一個與「名稱」相同的子目錄,其內才真正放置專案內各種形式的檔 案,其中專案檔的附檔名為 .dtproj。 2.1 I n t e g r a t i o n S e r v i c e s 專 案 圖2-1 透過 Visual Studio 2005 建立新的 SSIS 專案 完成圖2-1 的設定後,即可開啟「Integration Services專案」。專案中包 含物件的範本有「資料來源」、「資料來源檢視」和「SSIS封裝」。依 預設,在專案中會建立檔名為 Package.dtsx 的空白封裝。筆者在此所稱 的「SSIS 設計師」,專指在 Visual Studio 2005 用來設計 SSIS 封裝的環 境,也就是僅指圖2-2 中間圖形設計介面,有控制流程、資料流程⋯索引 頁籤,以及下方連接區域的那一塊。 27 2 圖2-2 SSIS 設計師 與以往設計方式最大不同的,便是以圖形化所見即所得的方式設計封裝, 並透過多索引頁籤的方式呈現「控制流程」、「資料流程」、「事件處理 常式」、「封裝總管」和「進度」等不同的設計內容,以及下方「連接管 理員(connection managers)」和滑鼠右鍵快捷選單,還有各種對話窗提供 的封裝中各物件屬性設定。豐富的操作介面,讓我們得以設計複雜的封裝 結構。 2.2 Integration Services 封裝設計師 2.2.1 方案總管視窗 在「方案總管」中可透過樹狀架構列舉出專案物件清單。雖然 BIDS 內所 建立的 「Integration Services專案」可以放在一般的 Visual Studio 方案 管理之下,但它只是邏輯的管理單位。而完成設計的封裝將以 XML 格式 存放在檔案系統或 SQL Server 的 MSDB 系統資料庫內。 28 S S I S D e v e l o p m e n t S t u d i o 環 境 介 紹 SQL Server 2005 SSIS 整合服務 你可以透過主選單的「檢視」→「方案總管」選項開啟,或者是直接按熱 鍵「Ctrl+Alt+L」。 SSIS專案內預設會有四個資料夾,「SSIS封裝」資料夾存放設計好的封裝 檔,副檔名為.dtsx。「其它」資料夾則是讓你存放副檔名非 .dtsx 的相關 說明文件。「資料來源」是設計階段所使用的物件,設計封裝時可選擇性 的使用它,用來當作封裝中資料連接的參考。而「資料來源檢視」內的物 件,則可以在封裝的「資料流程」內使用「資料流程來源」定義時引用。 封裝中使用專案所定義的共用「資料來源」會有以下的好處: ◆ 在 Integration Services 專案中建立的「資料來源」可用於所有的封 裝,資料來源只需定義一次,便可讓多個封裝中的「連接管理員」 參考。 ◆ SSIS 整合開發環境提供資料來源物件與封裝內參考該物件的連接之 間的同步處理。在資料來源的連接字串屬性變更後,同一專案內參 考該資料來源的封裝,其連接管理員內的連接資料會自動更新。 ◆ 資料來源與參考其定義的連接管理員之間沒有實質的相依性,連線 字串還是會包含在封裝內。如果資料來源不再是專案的一部份,封 裝的連接設定仍然有效,因為有關資料來源的資訊,都包含在封裝 定義中,這也是為何稱「資料來源」為設計階段物件 。 封裝中使用資料來源檢視有下列優點: ◆ 多個資料流程元件可使用單一資料來源檢視。 ◆ 重新整理資料來源檢視即可反映其基礎資料來源的變更,另外,資 料來源檢視可快取建立於其上的資料來源之中繼資料。 ◆ 集中呈現各封裝中資料流程元件所使用的物件清單。 3: 當完成封裝設計後,你可以試試看將已經被連接管理員引用的資料來源刪掉, 這時參照該資料來源的連接會自動轉以一般的 OLE DB 連接呈現。 3 2.2 I n t e g r a t i o n S e r v i c e s 封 裝 設 計 師 29 2 2.2.2 封裝設計視窗 SSIS 設計、建立、存取和執行的單元依然是封裝。封裝內含各種物件, 諸如:容器(container)、工作(task)、優先順序條件約束(precedence constraint)、資料流程元件(data flow component)、變數等,「SSIS封 裝設計師」的編輯畫面根據性質可分為: ◆ 「XML」:透過XML描述封裝檔案。 ◆ 「設計(design)」:提供多個設計頁籤編輯以所見即所得的方式設 計封裝。 預設編輯畫面是「設計」頁籤的設計環境,使用滑鼠右鍵在方案總管內點 選封裝檔案(*.dtsx)後,選取快捷選單內的「檢視程式碼」選項即可檢視報 表的XML內容,如圖2-3 所示。BIDS 讓你在「設計」頁籤內以所見即所 得的方式設計封裝,實際在背後幫你建立以 XML 描述的封裝結構。 圖2-3 封裝的XML格式檔 「設計」頁籤透過多索引頁籤的方式呈現「控制流程」、「資料流程」、 「事件處理常式」、「封裝總管」和「進度」等不同的設計內容。豐富的 30 S S I S D e v e l o p m e n t S t u d i o 環 境 介 紹 SQL Server 2005 SSIS 整合服務 操作介面,讓我們得以設計複雜的封裝結構。在此就先看一下上述各頁籤 的用途: ■ 控制流程 控制流程的組成可分三部份,分別為容器(「Foreach 迴圈」、「For 迴 圈」、「時序」)、工作和優先順序條件約束。在控制頁籤內可使用容器, 以搭配迴圈和循序流程(sequence)的執行方式,如圖2-4 所示。利用工具 列上的「工作」和「容器」設計各項功能,以及經由「優先順序條件約 束」串連各容器或工作,可定義重複工作流程的迴圈結構。 封裝最起碼要包含一個以上的流程控制工作,可選擇性地設計多個資料流 程或事件流程 。這樣的設計方式是以往 DTS 較難辦到的,現在你只要透 過簡單的設定即可完成結構化流程控制。關於容器的使用,我們將在《第 7章:容器與交易》中再詳加介紹。 2.2 I n t e g r a t i o n S e r v i c e s 封 裝 設 計 師 圖2-4 「控制流程」設計頁籤 4: 與 DTS 僅提供一個流程不同的是 SSIS 可以設計三種流程:控制流程、資料 轉換流程與事件處理流程。 4 31 2 圖2-5 「選項」視窗中新增「商務智慧設計師」子項目 圖2-4 的「控制流程」頁籤內代表優先順序條件約束的箭頭均可使用滑 鼠右鍵點選,然後在快捷選單內設定連線所代表的意義,設計畫面會 使用綠色、紅色以及藍色連線分別代表成功、失敗以及完成。另外, BISD主選單的「工具」→「選項」所叫出的「選項」視窗加入了三個與 「SSIS 設計師」相關的子項目。在「商務智慧設計師」節點下,可以看到 「Integration Services 設計師」相關的設定項目,如圖2-5 所示。 在「Integration Services 設計師」節點的「一般」項目下,可設定代表優 先順序條件約束的箭頭旁是否顯示「成功」、「失敗」、「完成」等文字 標籤。 ■ 資料流程 資料流程也可分為三部份,分別為資料來源存取(source adapter)、資料轉 換、資料目的存取(destination adapter)。其設計的主要項目為:從多個 異質性資料來源中擷取來源資料,修改和彙總資料後載入目的地。基本上 我們會使用「控制流程」頁籤內所設計的流程主導整個封裝的架構,然後 透過新增「資料流程工作」在封裝加入「資料流程」,並於「資料流程」 頁籤內,以上方所提供的下拉選單切換到不同的「資料流程工作」來設計 資料的擷取、轉換及載入(ETL),如圖2-6 所示。 32 S S I S D e v e l o p m e n t S t u d i o 環 境 介 紹 SQL Server 2005 SSIS 整合服務 2.2 I n t e g r a t i o n S e r v i c e s 封 裝 設 計 師 圖2-6 「資料流程」頁籤 在設計環境中,連接各元件之輸出和輸入的方向路徑,也就是資料轉換加 工過程的步驟。部份元件除了可以設定正確的資料流(綠色箭頭),還提供 了異常紀錄的資料流(紅色箭頭)。利用資料流程設計介面所提供的快捷選 單也可在設計環境加入文字註解。滑鼠右鍵點選聯結資料流程元件之間的 路徑箭頭,透過「資料檢視器」快捷選項可設定檢視處理過程中資料內容 的視窗,在執行資料轉換時監視通過該流程的資料。 ■ 事件處理常式 在這個頁籤內可設計封裝執行階段內所需完成的工作。可設定各個獨立的 工作流程來處理封裝執行時所觸發的各種事件。例如,當封裝內某工作項 目發生錯誤時,可建立傳送電子郵件訊息的事件處理常式。或者當封裝或 工作完成執行後,建立清除暫存資料儲存檔的事件處理常式等。 如圖2-7 所示,在「可執行檔」下拉選單內選擇封裝本身或「控制流程」 頁籤當下所使用到的物件(例如:容器以及工作)。接著在「事件處理常 式」下拉選單選擇會引發的事件(例如: OnError、OnPostExecute、 OnTaskFailed⋯等等)。最後,在下方的在設計畫面內拖入要執行的工 作,例如email工作。 33 2 圖2-7 「事件處理常式」頁籤 透過建立這些事件的自訂事件處理常式,可擴充封裝功能,使得封裝在執 行階段易於管理。 ■ 封裝總管 在這個頁籤內可檢視封裝組成元素以及容器階層,畫面如圖2-8 所示。以 封裝容器位於階層的頂端,展開封裝節點可檢視其中的連接、可執行檔、 事件處理常式、記錄提供者、優先順序條件約束和變數。在「封裝總管」 頁籤內,可刪除封裝內的物件,或存取「屬性」視窗,以檢視或修改物件 屬性。 圖2-8 「封裝總管」頁籤以樹狀結構所呈現封裝內的各組成元素 34 S S I S D e v e l o p m e n t S t u d i o 環 境 介 紹 SQL Server 2005 SSIS 整合服務 ■ 進度/執行結果 在「SSIS 設計師」內透過偵錯模式執行封裝時,會動態呈現封裝執行進 度。當執行完畢回到設計模式,「進度」頁籤會自動轉換成「執行結果」 頁籤。可參考本章後續圖2-48 的執行結果。 ■ 連接管理員 Integration Services 使用連接管理員在封裝內設計對資料來源的連接, 這些連接管理員是由控制流程元件、資料流程元件和記錄提供者所共用, 而一般的工作如「檔案系統工作」、「執行 SQL 工作」、「Web 服務工 作」、「傳送郵件工作」等也有可能用到,並顯示在「控制流程」、「資 料流程」和「事件處理常式」等頁籤底端區域中。 2.2.3 「工具箱」視窗 「工具箱」視窗提供設計封裝所需的控制流程工作和資料流程使用的 來源、轉換和目的地,你可以排序、加入或移除工具箱內的項目。預 設的情況下,可直接在封裝設計師的左方找到「工具箱」視窗,如果 找不到,可透過主選單的「檢視」→「工具箱」,或者直接按快速鍵 「Ctrl+Alt+X」,叫出「工具箱」視窗。 「工具箱」提供下列兩種類型的工作項目,而所提供的工作項目會隨著目 前使用的編輯器而變更內容。分別說明如下: ◆ 控制流程項目:當在「控制流程」或「事件處理常式」頁籤工作 時,工具箱會顯示兩個項目群組:「控制流程項目」和「維護計劃 工作」,如下頁圖2-9 所示。 2.2 I n t e g r a t i o n S e r v i c e s 封 裝 設 計 師 35 2 圖2-9 「控制流程」頁籤所使用的工項目 ◆ 資料流程項目:當在「資料流程」頁籤工作時,工具箱會顯示三個 項目群組:「資料流程來源」、「資料流程轉換」和「資料流程目 的地」,如圖2-10 所示。 圖2-10 「資料流程」頁籤所使用的工具箱 36 S S I S D e v e l o p m e n t S t u d i o 環 境 介 紹 SQL Server 2005 SSIS 整合服務 2.2 I n t e g r a t i o n S e r v i c e s 封 裝 設 計 師 SSIS 在「資料流程轉換」所提供的項目明顯較 DTS 增加許多,透過這些 新增加的工作項目,可讓你在開發的過程中能更方便、快速。 2.2.4 屬性視窗 「屬性」視窗預設在開發環境的右側,若不在設計環境內,可點選主選單 的「檢視」→「屬性視窗」選項開啟它。若欲設定封裝內的屬性,可直接 使用滑鼠點選「SSIS設計師」各頁籤內所配置的工具項目,「屬性」視窗 會列舉出該項目可設定的屬性(你也可以直接在「屬性」視窗的下拉選單選 擇某工作項目),即可直接鍵入值修改屬性設定,或者是使用下拉式選單來 選擇。若選取的工作項目可設定運算式,則會列舉「Expression」項目, 如圖2-11 所示。接著你可點選右側所提供的「⋯」按鈕,叫出「屬性運算 式編輯器」編輯相關運算式。 圖2-11 「屬性」視窗 37 2 2.2.5 與 SSIS 相關的功能表選項 當 BIDS 是在設計 Integration Services 專案時,主選單會自動增加 SSIS 選項,如圖2-12 中最上方之主選單。當你正在操作「SSIS 設計師」,也就 是當下它在整個設計環境中是焦點時,SSIS 選項會包含下表所列出的子選 項。而當焦點移到 BIDS 使用者介面的其他部份時,「SSIS」選項會變成 只顯示「離線工作」子選項。 下列分別介紹各選單項目的功能。 ◆ 記錄:記錄封裝在執行階段所引發的事件。若是在設計階段期間, 則可以在「記錄事件」對話窗檢視所記錄的事件,至於紀錄的使用 方式請參照《第3章:SSIS 封裝儲存與執行》。對話窗如圖2-13 所 示。 圖2-12 BIDS 為 SSIS 選項提供的子選項 38 S S I S D e v e l o p m e n t S t u d i o 環 境 介 紹 SQL Server 2005 SSIS 整合服務 ◆ 封裝組態:在 封裝開發期間 設定封裝物件 的屬性,然後 視需要儲存設 定值在多種機 制內(如 MXL 檔案、資料表 等),執行階 段參考對應的 設定值更新屬 性。例如,更 新變數值或連 接管理員的連 接字串。該選 2.2 I n t e g r a t i o n S e r v i c e s 封 裝 設 計 師 圖2-13 透過「記錄事件」對話窗設定封裝執行過程中的紀錄要存放的機制 圖2-14 透過「封裝組態組合管理」對話窗設定封裝內各項屬 性在封裝執行前該初始化的內容 39 2 項叫起的「封裝組態組合管理」對話窗,如圖2-14 。我們將在《第3 章: SSIS 封裝與執行》介紹如何使用。 ◆ 數位簽章:經由簽章和確認機制保證封裝資料內容未被竄改,此部 分將在《第10章:架構安全》介紹。 ◆ 變數:依預設,在接近「工具箱」的位置顯示「變數」視窗,透過 該視窗你可以自行增/刪變數,如圖2-15 所示。 SSIS 提供兩種類型的變數,使用者自訂變數和系統變數,你可以從各變數 一開始小圖示的顏色分辨。使用者自訂變數由封裝開發人員定義,而系統 變數則由 Integration Services 定義。變數可讓封裝中的物件彼此溝通, 並可用於運算式和指令碼中。你可以根據需要而建立許多使用者自訂變 數,但無法建立系統變數。 使用者自定變數較以往 DTS 不同,它加入了區域變數以及全域變數的概 念。在「變數」視窗內,可以於「範圍」欄位檢視系統變數或使用者變數 會呈現在哪個區域內。另外,由於系統變數提供的種類繁多,你可使用上 方提供的工具選單隱藏系統變數。我們將在《第5章:SSIS 運算式》詳細 介紹使用方式。 圖2-15 「變數」對話窗 40 S S I S D e v e l o p m e n t S t u d i o 環 境 介 紹 SQL Server 2005 SSIS 整合服務 2.2 I n t e g r a t i o n S e r v i c e s 封 裝 設 計 師 ◆ 離線工作:當封裝的資料來源無法使用時,可以此來避開無法使用 連接所觸發的錯誤訊息。 ◆ 記錄事件:依預設該視窗會出現在接近「工具箱」的位置,顯示 「記錄事件」對話窗,在發生執行階段事件時,會寫入記錄項目, 並提供記錄資訊的標準結構描述。 你可以先透過「記錄」選項僅在封裝上啟用記錄,或選擇在任何工 作或容器上啟用記錄,這些記錄就會呈現在「記錄事件」視窗。 ◆ 新增連接:顯示「加入 SSIS 連接管理員」對話窗,在設計環境下方 「連接管理員」區域內加入不同用途的連接。如圖2-16 所示。 圖2-16 利用「加入 SSIS 連接管理員」對話窗加入不同的連線設定到封裝中 41 2 2.2.6 Integration Services 專案屬性 以滑鼠點選「方案總管」視窗內專案節點,在快捷選單選擇「屬性」選 項,其「屬性頁」對話窗包含 Integration Services 專案 3 個設計階段屬 性設定。如圖2-17 所示。 圖2-17 中的各頁籤分別說明如下: ◆ 建立:指定以滑鼠右鍵在「方案總管」點選專案後,啟動「建置」 程序所產生檔案的輸出路徑。 ◆ 部署公用程式:指定是否要建立封裝的部署公用程式可參考的中繼 資料,要在何處儲存相關的檔案,以及在部署期間是否允許更新組 態。 ◆ 偵錯:指定在測試封裝時要套用的幾個選項,它們會影響在設計階 段於 BISD 中執行這個封裝的行為。各選項說明如下: ‧ StartAction、StartApplication 和 StartObjectID:指定偵錯啟 動時要執行的動作。 ‧ CmdLineArguments:以指定的命令列引數執行封裝。 圖2-17 設定 SSIS 專案的各項屬性 42 S S I S D e v e l o p m e n t S t u d i o 環 境 介 紹 SQL Server 2005 SSIS 整合服務 2.3 封 裝 設 計 與 執 行 環 境 ‧ InteractiveMode:預設值為 True,允許偵錯期間呈現強制使用 者回應的對話窗(參考後文的圖2-25 所示)。 ‧ Run64BitRuntime:預設值為 True,使用 64 位元執行階段(如果 有的話)。 ‧ RunInOptimizedMode:預設值為 False,設定是否要最佳化資 料流程執行計劃。這裡的設定在Visual Studio 環境以「偵錯」模 式執行時,會暫時覆寫封裝內「資料流程」的「屬性」視窗內同 名之 RunInOptimizedMode 屬性。 2.3 封裝設計與執行環境 本節中將介紹如何建立基本的封裝,以及如何透過「SSIS設計師」所提供 的「控制流程」、「資料流程」頁籤擷取來源端的資料,並寫入目的端。 2.3.1 「控制流程」的應用 在 設 計 封 裝 前 , 我 們 首 先 來 看 一 下 控 制 流 程 及 前 置 條 件 與 以 往 的 D T S 有什麼不同。首先,在「方案總管」視窗內,以滑鼠右鍵點選 P a c k a g e.d t s x,在快捷選單選擇「重新命名」,將預設封裝改名為 WorkflowConstraint_1.dtsx。 開啟封裝後,可以從左方的「工具箱」拖曳「指令碼工作」到「控制流 程」頁籤的設計環境中,以滑鼠雙擊該工作就可以看到如下頁圖2-18 的對 話窗,透過左方的選項,點選「指令碼」節點切換到設定「指令碼」的頁 籤中。 43 ─未完,詳見悅知文化SQL Server 2005 SSIS整合服務一書。─

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档

相关文档