SQL Server 2000的數據轉換服務(中)
2024-08-31 00:48:47
供稿:網友
 
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 驅動程序列 
表選擇連接類型,可對連接進行配置??捎玫倪B接類型包括: 
● 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