導讀:
<b>一、使用日志記錄</b>
<b></b>
SSIS提供的日志記錄方式:
文本檔案
SQL
Server Profiler
Windows
事件日志
Server
XML
檔案
準備工作
使用上節的包,修改myconfig.dtsConfig,将檔案夾對應到D:\lyp\SQL\SSIS\package4。
在檔案夾下建立userinfo5.txt和userinfo6.txt。
Userinfo5.txt:11|name11|我是name11|男,12|name12|我是name12|女
Userinfo6.txt:13|name13|我是name13|男,14|name14|我是name14|女
步驟:
1、添加一條文本日志,如下圖:
執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(一)--制作一個簡單的ETL包執行個體學習SSIS(二)--使用疊代執行個體學習SSIS(三)--使用包配置執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(五)--理論介紹SSIS 2、指定寫入日志資訊的txt檔案,如下圖:
執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(一)--制作一個簡單的ETL包執行個體學習SSIS(二)--使用疊代執行個體學習SSIS(三)--使用包配置執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(五)--理論介紹SSIS 3、選擇要記錄的事件:
執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(一)--制作一個簡單的ETL包執行個體學習SSIS(二)--使用疊代執行個體學習SSIS(三)--使用包配置執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(五)--理論介紹SSIS 調試:
執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(一)--制作一個簡單的ETL包執行個體學習SSIS(二)--使用疊代執行個體學習SSIS(三)--使用包配置執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(五)--理論介紹SSIS 在D:\lyp\SQL\SSIS\package4下建立了一個log.txt檔案,可以看到裡面有相應的事件執行記錄。
<b>二、使用錯誤流重定向</b>
SSIS錯誤處理方式
在資料轉換時很有可能會發生錯誤,SSIS對錯誤的處理方式:
1、選擇忽略某些列中的失敗;
2、重定向整個失敗的行;
3、使元件失敗。
預設情況下,所有元件發生錯誤時失敗,進而導緻包失敗并停止後續處理。
為了不讓包停止,發生錯誤時,通過配置來處理錯誤,通常是将失敗的行重定向到别處進行處理。
1、使用上面日志記錄用到的包;
2、建立有錯誤的資料源檔案userinfo7.txt(D:\lyp\SQL\SSIS\package5\)。
userinfo7.txt:15|name15|我是name15|男,abc|name17|我是name17|女,18|name18|我是name18|女
在轉換id為int時會出現錯誤。
使用元件失敗的情況
在“資料流”中編輯“使用者來源”平面檔案源,在“錯誤輸出”中将各列的“錯誤”選成“元件失敗”:
執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(一)--制作一個簡單的ETL包執行個體學習SSIS(二)--使用疊代執行個體學習SSIS(三)--使用包配置執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(五)--理論介紹SSIS 調試程式,可以看到“使用者來源”變成了紅色,整個包停止了,檔案中的資料沒有被成功導入到資料庫中。
執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(一)--制作一個簡單的ETL包執行個體學習SSIS(二)--使用疊代執行個體學習SSIS(三)--使用包配置執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(五)--理論介紹SSIS 使用錯誤流重定向
目标
把出錯的行重定向的别的檔案(errorLog.txt)而不會使包停止。
步驟:
1、拖拽一個“平面檔案目标”到資料流頁籤。
2、把“使用者來源”的紅箭頭拖到該目标上,在彈出的“配置錯誤輸出”中将UiD的“錯誤”選擇為“重定向行”。
3、編輯“平面檔案目标”:
建立“平面檔案連結管理器”,選擇錯誤記錄檔案(errorLog.txt),如下:
執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(一)--制作一個簡單的ETL包執行個體學習SSIS(二)--使用疊代執行個體學習SSIS(三)--使用包配置執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(五)--理論介紹SSIS
執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(一)--制作一個簡單的ETL包執行個體學習SSIS(二)--使用疊代執行個體學習SSIS(三)--使用包配置執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(五)--理論介紹SSIS 調試:
調試程式,可以看到向資料庫中插入了兩條記錄,并在errorLog.txt中寫入了出錯的行。
執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(一)--制作一個簡單的ETL包執行個體學習SSIS(二)--使用疊代執行個體學習SSIS(三)--使用包配置執行個體學習SSIS(四)--使用日志記錄和錯誤流重定向執行個體學習SSIS(五)--理論介紹SSIS