Microsoft SQL Server 2000的數據轉換服務(中)
還可以用編程方式創建自定義任務,然後使用“注冊自定義任務”命
令將其集成到 DTS設計器中。
為說明如何使用這些任務,這裡顯示一個簡單的 DTS軟件包,其中包
括兩項任務: Microsoft ActiveX?腳本任務以及發送郵件任務:
圖 2. 具有兩項任務的 DTS 軟件包
ActiveX腳本任務可包含任何ActiveX腳本引擎,包括Microsoft Visual
Basic Scripting Edition(VBScript)、Microsoft JScriptActiveState
ActivePerl。這些搜索引擎可以從 http://www.activestate.com 下載。
發送郵件任務可以發送消息,指示軟件包已運行。請注意,這些任務尚未
排序。執行軟件包時,ActiveX 腳本任務和發送郵件任務將同時運行。
工作流:設置任務優先級
定義任務組時,通常有一個執行任務的順序。如果任務已排序,每個
任務將成為進程中的一個步驟。在 DTS設計器中,在 DTS設計器工作表上
操作任務,並使用優先級約束條件來控制執行任務的順序。
優先級約束條件繼而將軟件包中的任務鏈接起來。下表顯示在 DTS中
可以使用的優先級約束條件類型。
優先級約束條件 說明
按完成順序
(藍色箭頭)
如果希望在任務 1 完成前不執行任務 2,而不考慮執行結果如何,則應使用“按完成順序”優先級約束條件鏈接任務 1
和任務 2。
按成功情況
(綠色箭頭)
如果希望在任務 1 成功完成前不執行任務 2,應使用“按成功情況”優先級約束條件鏈接任務 1 和任務 2。
按失敗情況
(紅色箭頭)
如果希望只在任務 1 無法成功執行的情況下才執行任務 2,應使用“按失敗情況”優先級約束條件鏈接任務 1 和任務
2。
下圖顯示使用“按完成順序”優先級約束條件的 ActiveX腳本任務和
發送郵件任務。當 Active X 腳本任務完成後,無論成功或失敗,都將運
行發送郵件任務。
圖 3. 使用“按完成順序”優先級約束條件的 ActiveX 腳本任務和發送郵件任務
可以分別配置發送郵件任務,一個配置為使用“按成功情況”約束條
件,一個配置為使用“按失敗情況”約束條件。兩個發送郵件任務可根據
ActiveX 腳本成功還是失敗發送不同的消息。
圖 4. 郵件任務
您還可以對一個任務采用多個優先級約束條件。例如,發送郵件任務
“管理通知”可以在腳本 #1 采用“按成功情況”約束條件,在腳本 #2
采用“按失敗情況”約束條件。在這些情況下,DTS 假設存在邏輯關系
“AND ”。因此,只有在腳本 #1 成功執行而腳本 #2 失敗的情況下,才
會發送“管理通知”消息。
圖 5.示例:對一項任務采用多個優先級約束條件
連接:訪問和移動數據
要成功執行復制和轉換數據的 DTS任務,DTS 軟件包必須與它的源和
目標數據以及所有其它數據源(如查找表)建立有效連接。
創建軟件包時,通過從可用的 OLE DB 提供程序和 ODBC 驅動程序列
表選擇連接類型,可對連接進行配置。可用的連接類型包括:
● Microsoft 數據訪問組件 (MDAC) 驅動程序
用於 SQL Server 的 Microsoft OLE DB 提供程序
Microsoft 數據鏈接
用於 Oracle 的 Microsoft ODBC 驅動程序
● Microsoft 數據訪問組件 (MDAC) 驅動程序
DBase 5
Microsoft Access
Html 文件(源)
Microsoft Excel 97-2000
Paradox 5.X
● 其它驅動程序
文本文件(源)
文本文件(目標)
其它連接
DTS 允許您使用任何 OLE DB 連接。使用“連接”工具欄上的圖標可
以便捷地訪問常用的各種連接。
下圖顯示一個使用兩種連接的軟件包。數據將從 Access 數據庫(源
連接)復制到 SQL Server 產品數據庫(目標連接)。
圖 6. 示例:使用兩種連接的軟件包
此軟件包中的第一個步驟是一個執行 SQL任務,該任務檢查是否目標
表已經存在。如果存在,將刪除它然後重新創建。
成功完成執行 SQL任務
後,第二個步驟是將數據復制到 SQL Server 數據庫。如果復制操作失敗,
第三個步驟是發送一份電子郵件。
摘自http://www.microsoft.com/china/msdn/?MSCOMTB=ICP_MSDN