实例学习SSIS(四)--使用日志记录和错误流重定向
導讀:
實例學習SSIS(一)--制作一個簡單的ETL包
實例學習SSIS(二)--使用迭代
實例學習SSIS(三)--使用包配置
實例學習SSIS(四)--使用日志記錄和錯誤流重定向
實例學習SSIS(五)--理論介紹SSIS
?
?
一、使用日志記錄
SSIS提供的日志記錄方式:
???????? 文本文件
???????? SQL Server Profiler
???????? Windows 事件日志
???????? SQL 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、添加一條文本日志,如下圖:
????????
???????? 2、指定寫入日志信息的txt文件,如下圖:
???????? 3、選擇要記錄的事件:
????????
調試:
???????? 在D:\lyp\SQL\SSIS\package4下創建了一個log.txt文件,可以看到里面有相應的事件執行記錄。
二、使用錯誤流重定向
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時會出現錯誤。
使用組件失敗的情況
?????????????????? 在“數據流”中編輯“用戶來源”平面文件源,在“錯誤輸出”中將各列的“錯誤”選成“組件失敗”:
??? 調試程序,可以看到“用戶來源”變成了紅色,整個包停止了,文件中的數據沒有被成功導入到數據庫中。
使用錯誤流重定向
???????? 目標
?????????????????? 把出錯的行重定向的別的文件(errorLog.txt)而不會使包停止。
???????? 步驟:
?????????????????? 1、拖拽一個“平面文件目標”到數據流選項卡。
?????????????????? 2、把“用戶來源”的紅箭頭拖到該目標上,在彈出的“配置錯誤輸出”中將UiD的“錯誤”選擇為“重定向行”。
?????????????????? 3、編輯“平面文件目標”:
??????????????????????????? 新建“平面文件鏈接管理器”,選擇錯誤記錄文件(errorLog.txt),如下:
?
???????? 調試:
?????????????????? 調試程序,可以看到向數據庫中插入了兩條記錄,并在errorLog.txt中寫入了出錯的行。
?
總結
以上是生活随笔為你收集整理的实例学习SSIS(四)--使用日志记录和错误流重定向的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity 中的协同程序
- 下一篇: Helios与Katana的区别