程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server BI Step by Step SSIS 7 (End)

SQL Server BI Step by Step SSIS 7 (End)

編輯:關於SqlServer

SQL Server BI Step by Step SSIS 7 (End) - 事務,錯誤輸出,事件處理,日志記錄

和其它程序一樣,SSIS包同樣需要健壯,穩定的運行,這樣的程序才有可靠性和可伸縮性。SSIS提供了如下方面的支持:

1.事務: 可以對一個程序包設置成一個或者多個事務,甚至可以對兩個程序包設置成一個事務。為了 保證數據的一致性,你還可以DTC事務或者SQL Server引擎級的事務。

2.檢查點: 用來記錄一個程序包出錯時任務的運行情況,以便程序包再次啟動時,直接從發生錯誤的 任務直接執行.

3.錯誤輸出:即使再完美的程序也會有錯誤,尤其對於數據流中的任務來說,及有可能由於格式,類 型等問題,導致這一行的發生錯誤。SSIS允許針對這樣的每行進行錯誤輸出處理,你可 以進行修復或者 記錄,當然你也可以忽略。 

4.優先約束:在控制流中,你不僅可以使用一個任務的成功,失敗或執行結束作為條件來執行下面的 任務,甚至可以使用表達式來做為條件。

5.事件處理: 在SSIS包中,事件處理是和控制流,數據流相並列的。在這裡,你可以對程序包,任務 或者容器的不同的事件進行處理,事件還可以用於設置斷點並控制日志記錄。我們可以使用OnError事件 來捕獲錯誤.

6.日志記錄: 可以在運行時,記錄指定的事件信息,可以保存在本地文本或者XML文件中,也可以保 存到數據庫中,或者是Windows EventLog,Profiler文件中,甚至你可以擴展自己的日志記錄。

需求:

為了和其它系統集成,AdventureWorks系統的產品價格實時更新,需要從一個指定的URL下載一個壓 縮文件,解壓後,對這個數據文件進行分析導入。由於下載的文件是由一個非程序維護的文件,由於人 為因素,裡面的數據格式有可能有錯誤,但是要求忽略這樣的數據。另外,如果處理失敗,需要對保留 歷史文件。如果發生錯誤,需要發送錯誤Email.同時需要保留程序日志,以便查找錯誤原因。

實現:

1. 在你的D盤下面新建一個ProductPrice文件夾來存放壓縮和數據文件,在下面新建一個bak目錄存 儲備份文件。

2. 創建一個SSIS包,同時新建以下變量:

變更名 類型 值 說明 filePath String D:\ProductPrice\ 數據根目錄 dataPath String D:\ProductPrice\ProductList.txt 解壓後數據文件 backPath String

@[User::filePath]  +   "bak\\"  + (DT_WSTR, 4) YEAR( GETDATE() ) + "-" + (DT_WSTR, 2) MONTH( GETDATE() ) + "-" +  (DT_WSTR, 2) DAY( GETDATE() )   + ".zip"

需要將EvaluateAsExpression設置為True

主要用於存儲未執行成功的壓縮數據文件,其名稱為當前日期(由表達式計算出當前日 期)

比如:D:\ProductPrice\bak\2009-9-20.zip

WinRar String C:\Program Files\WinRAR\WinRAR.exe WINRAR的安裝目錄 zipPath String D:\ProductPrice\Price.zip zip壓縮文件下載路徑 erroCount Int32 0 數據文件解析出錯的行數

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved