实例学习SSIS(四)--使用日志记录和错误流重定向
導(dǎo)讀:
實(shí)例學(xué)習(xí)SSIS(一)--制作一個(gè)簡(jiǎn)單的ETL包
實(shí)例學(xué)習(xí)SSIS(二)--使用迭代
實(shí)例學(xué)習(xí)SSIS(三)--使用包配置
實(shí)例學(xué)習(xí)SSIS(四)--使用日志記錄和錯(cuò)誤流重定向
實(shí)例學(xué)習(xí)SSIS(五)--理論介紹SSIS
?
?
一、使用日志記錄
SSIS提供的日志記錄方式:
???????? 文本文件
???????? SQL Server Profiler
???????? Windows 事件日志
???????? SQL Server
???????? XML 文件
準(zhǔn)備工作
使用上節(jié)的包,修改myconfig.dtsConfig,將文件夾對(duì)應(yīng)到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、選擇要記錄的事件:
????????
調(diào)試:
???????? 在D:\lyp\SQL\SSIS\package4下創(chuàng)建了一個(gè)log.txt文件,可以看到里面有相應(yīng)的事件執(zhí)行記錄。
二、使用錯(cuò)誤流重定向
SSIS錯(cuò)誤處理方式
在數(shù)據(jù)轉(zhuǎn)換時(shí)很有可能會(huì)發(fā)生錯(cuò)誤,SSIS對(duì)錯(cuò)誤的處理方式:
1、選擇忽略某些列中的失敗;
2、重定向整個(gè)失敗的行;
3、使組件失敗。
默認(rèn)情況下,所有組件發(fā)生錯(cuò)誤時(shí)失敗,從而導(dǎo)致包失敗并停止后續(xù)處理。
為了不讓包停止,發(fā)生錯(cuò)誤時(shí),通過配置來處理錯(cuò)誤,通常是將失敗的行重定向到別處進(jìn)行處理。
準(zhǔn)備工作
?????????????????? 1、使用上面日志記錄用到的包;
?????????????????? 2、創(chuàng)建有錯(cuò)誤的數(shù)據(jù)源文件userinfo7.txt(D:\lyp\SQL\SSIS\package5\)。
??????????????????????????? userinfo7.txt:15|name15|我是name15|男,abc|name17|我是name17|女,18|name18|我是name18|女
??????????????????????????? 在轉(zhuǎn)換id為int時(shí)會(huì)出現(xiàn)錯(cuò)誤。
使用組件失敗的情況
?????????????????? 在“數(shù)據(jù)流”中編輯“用戶來源”平面文件源,在“錯(cuò)誤輸出”中將各列的“錯(cuò)誤”選成“組件失敗”:
??? 調(diào)試程序,可以看到“用戶來源”變成了紅色,整個(gè)包停止了,文件中的數(shù)據(jù)沒有被成功導(dǎo)入到數(shù)據(jù)庫中。
使用錯(cuò)誤流重定向
???????? 目標(biāo)
?????????????????? 把出錯(cuò)的行重定向的別的文件(errorLog.txt)而不會(huì)使包停止。
???????? 步驟:
?????????????????? 1、拖拽一個(gè)“平面文件目標(biāo)”到數(shù)據(jù)流選項(xiàng)卡。
?????????????????? 2、把“用戶來源”的紅箭頭拖到該目標(biāo)上,在彈出的“配置錯(cuò)誤輸出”中將UiD的“錯(cuò)誤”選擇為“重定向行”。
?????????????????? 3、編輯“平面文件目標(biāo)”:
??????????????????????????? 新建“平面文件鏈接管理器”,選擇錯(cuò)誤記錄文件(errorLog.txt),如下:
?
???????? 調(diào)試:
?????????????????? 調(diào)試程序,可以看到向數(shù)據(jù)庫中插入了兩條記錄,并在errorLog.txt中寫入了出錯(cuò)的行。
?
總結(jié)
以上是生活随笔為你收集整理的实例学习SSIS(四)--使用日志记录和错误流重定向的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity 中的协同程序
- 下一篇: Helios与Katana的区别