亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 數(shù)據(jù)庫(kù) > SQL Server > 正文

基于SSIS 事件的向上傳遞(詳解)

2024-08-31 01:05:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在SSIS中,Package是Task組件的有序組合,具有層次結(jié)構(gòu),Package處于層次結(jié)構(gòu)的頂層(Root Level),對(duì)于父子包結(jié)構(gòu),父包(Parent Package)通過Execute Package Task組件調(diào)用其他Package,被調(diào)用的Package是子包,父包是子包的上層級(jí)別,最頂層的Package,處于層次結(jié)構(gòu)的頂層,叫做根包(Root Package);容器(Container)組件包含其他Task組件,容器是被包含的Task組件的父級(jí)別(Parent Level);Task組件是層次結(jié)構(gòu)的最底層,處于葉級(jí)別(Leaf Level)。事件就是沿著Package的層次結(jié)構(gòu)向上傳遞的。

在Package中,每一個(gè)Task組件都是一個(gè)可執(zhí)行程序(Executable),所有的數(shù)據(jù)處理任務(wù)都是由Task組件完成的。在Package運(yùn)行(runtime)時(shí),SSIS引擎為了監(jiān)控和追蹤Task組件的運(yùn)行狀態(tài),預(yù)先創(chuàng)建了12個(gè)系統(tǒng)事件(Event),這些事件都是在Package運(yùn)行時(shí)(runtime)被可執(zhí)行程序(Executable)觸發(fā)的,每個(gè)事件都會(huì)產(chǎn)生相應(yīng)的消息,用于描述Executable的運(yùn)行狀態(tài),供開發(fā)工程師對(duì)Package進(jìn)行調(diào)試和性能調(diào)優(yōu)。一旦有事件被觸發(fā),SSIS會(huì)執(zhí)行相應(yīng)的事件處理程序(Event Handler),SSIS為每個(gè)事件都創(chuàng)建了默認(rèn)的事件處理程序,命名規(guī)范是:On+EventName,用戶可以創(chuàng)建自定義的事件處理程序,以擴(kuò)展Package的功能,使Package在運(yùn)行時(shí)更容易管理,以完成數(shù)據(jù)處理任務(wù)。在ETL開發(fā)中,最常用的事件是錯(cuò)誤(Error)事件,該事件在Executable運(yùn)行出現(xiàn)錯(cuò)誤時(shí)觸發(fā),對(duì)應(yīng)的事件處理程序是OnError。

在Package的層次結(jié)構(gòu)中,事件處理具有向上傳遞(Propagate)的特性。發(fā)生在Task組件的事件,首先會(huì)被該Task組件的Event Handler捕獲和處理;如果該Task組件沒有創(chuàng)建Event Handler,那么SSIS把該Event向上傳遞到其父級(jí)別的Executable,由其父級(jí)別的Event Handler來(lái)處理;如果該Executable有Event Handler,那么由該Event Handler負(fù)責(zé)響應(yīng)和處理該事件。事件會(huì)依次向上傳遞,直到事件被處理,或者傳遞到頂層被默認(rèn)處理,事件向上傳遞的頂層是根包(Root Package)。

引用MSDN官方文檔的例子,Package的層次結(jié)構(gòu)如下圖所示:

SSIS,事件,向上傳遞

在層次結(jié)構(gòu)中,如果相應(yīng)的Task組件沒有定義事件處理程序,那么事件向上傳遞的過程如下圖所示:

SSIS,事件,向上傳遞

注:事件向上傳遞的條件是沒有創(chuàng)建自定義的事件處理程序,默認(rèn)情況下,該圖示有誤,事件被Event Handler處理之后,將繼續(xù)向上傳遞,我會(huì)在下文詳細(xì)解釋。

MSDN對(duì)圖示做了說明:

If an event has no event handler, the event is raised to the next container up the container hierarchy in a package. If this container has an event handler, the event handler runs in response to the event. If not, the event is raised to the next container up the container hierarchy. Only the package has an event handler, for its OnError event. If an error occurs when the Execute SQL task runs, the OnError event handler for the package runs. 

把事件依次向上傳遞的特性,是由事件處理程序(Event Handler)的系統(tǒng)變量 Propagate 控制的,變量Propagate的默認(rèn)值是True,這意味著,默認(rèn)情況下,該事件將會(huì)被傳遞到上層級(jí)別的Event Handler中進(jìn)行處理。有一個(gè)例外是在父子包結(jié)構(gòu)中,子Package在進(jìn)行包驗(yàn)證(Validation)時(shí),不管子包的Propagate變量的值如何設(shè)置,都會(huì)把驗(yàn)證事件傳遞到父包中,父包繼續(xù)執(zhí)行驗(yàn)證。

當(dāng)前Task組件必須創(chuàng)建事件處理程序,才能查看和修改變量Propagate的值。如果把事件處理程序(Event Handler)的Propagate變量設(shè)置為False,那么該事件只會(huì)被當(dāng)前的事件處理程序處理和響應(yīng),不會(huì)被傳遞到上層級(jí)別的事件處理程序中。但是,如果沒有為“肇事”的Task組件創(chuàng)建事件處理程序(Event Handler),那么事件總是向上傳遞,直到被事件處理程序響應(yīng),如果Package的層次結(jié)構(gòu)沒有定義任何事件處理程序,那么事件最終被根包(Root Package)默認(rèn)處理。

一,錯(cuò)誤事件處理程序(OnError)向上傳遞

默認(rèn)情況下,當(dāng)前Task組件的事件處理程序中把錯(cuò)誤(Error)事件處理之后,SSIS引擎仍然把錯(cuò)誤事件向上層事件處理程序傳遞,直到包層次結(jié)構(gòu)的最頂層,如下圖,在ChildPackage的Package級(jí)別和Executable級(jí)別上分別創(chuàng)建了OnError事件處理程序,Executable級(jí)別是child Execute SQL Task:

SSIS,事件,向上傳遞

執(zhí)行Package,在child Execute SQL Task中觸發(fā)錯(cuò)誤事件,被該Task的事件處理程序捕獲和處理,下圖是Executable級(jí)別的OnError事件處理程序,其成功執(zhí)行一個(gè)Task:

SSIS,事件,向上傳遞

但是,錯(cuò)誤事件沒有停止,而是繼續(xù)向上傳遞,被其直接上級(jí),也就是Package級(jí)別的OnError事件處理程序捕獲,如下圖,來(lái)自子Task組件的錯(cuò)誤事件被父級(jí)處理之后,Package仍然報(bào)錯(cuò),錯(cuò)誤消息是:Package execution completed with error.

SSIS,事件,向上傳遞

SSIS,事件,向上傳遞

錯(cuò)誤事件處理程序把錯(cuò)誤事件(Error)向上傳遞(Propagate)的過程類似“冒泡”,從觸發(fā)錯(cuò)誤事件的“肇事”Task組件開始,逐級(jí)向上傳遞到最頂層的可執(zhí)行程序(Executable),最頂層的Executable是 Package 本身。這意味著,如果在Package 級(jí)別定義了一個(gè)錯(cuò)誤事件處理程序(OnError),每當(dāng)Package中的任意一個(gè)Task組件觸發(fā)錯(cuò)誤事件(Error),最終都會(huì)觸發(fā)Package級(jí)別的錯(cuò)誤事件處理程序。在父子包結(jié)構(gòu)中,如果父Package通過Execute Package Task調(diào)用子Package,那么,錯(cuò)誤事件會(huì)發(fā)生相同的過程,子Package的錯(cuò)誤事件會(huì)向上傳遞(Propagate)到父Package中。

二,禁用錯(cuò)誤事件的向上傳遞

如果想要禁用事件的向上傳遞過程,可以在Task組件的事件處理程序中,把系統(tǒng)變量Propagate設(shè)置為False,這樣,事件將不再向上傳遞,只觸發(fā)當(dāng)前Task組件的事件處理程序,只有在Task組件中創(chuàng)建事件處理程序之后,才能修改系統(tǒng)變量Propagate的默認(rèn)值。

1,修改系統(tǒng)變量Propagate的默認(rèn)值

step1,呈現(xiàn)系統(tǒng)變量

打開Event Handlers Tab,在Variables 窗體中,點(diǎn)擊網(wǎng)格選項(xiàng)(Grid Options)按鈕,打開Variable Grid Options 窗體,在Filter選項(xiàng)中勾選"Show system variables",點(diǎn)擊“OK”,返回到Variables窗體:

SSIS,事件,向上傳遞

SSIS,事件,向上傳遞

step2,設(shè)置Propagate的值

在 Variables 窗體中,找到 Propagate 系統(tǒng)變量(Scope是OnError),把Value設(shè)置為False

SSIS,事件,向上傳遞

2,禁用事件處理的向上傳遞

禁用Task組件的事件處理的向上傳遞(Propagate)特性之后,在當(dāng)前Task組件中觸發(fā)的事件,只會(huì)被當(dāng)前Task組件的事件處理程序捕獲和處理,而不傳遞到上層Task組件的事件處理程序。

再次執(zhí)行Package,由于錯(cuò)誤事件是被child Execute SQL Task觸發(fā)的,其事件處理程序自動(dòng)捕獲并處理該Error事件:

SSIS,事件,向上傳遞

而Package級(jí)別的事件處理程序沒有捕獲到Error事件,Package沒有執(zhí)行OnError事件處理程序,最終的執(zhí)行結(jié)果是:Package execution completed with success。

SSIS,事件,向上傳遞

SSIS,事件,向上傳遞

三,沒有創(chuàng)建事件處理程序

如果沒有為Task組件創(chuàng)建事件處理程序(Event Handler),那么事件總是從當(dāng)前Task組件向上傳遞。用戶創(chuàng)建事件處理程序,并不意味著,需要在其中添加Task組件,做數(shù)據(jù)處理任務(wù),空的事件處理程序是允許的。在空的事件處理程序中把系統(tǒng)變量Propagate設(shè)置為False,那么事件將不會(huì)向上傳遞,也不會(huì)被顯式處理,錯(cuò)誤消息仍然會(huì)被SSISDB記錄,但強(qiáng)烈建議不要這樣做。

參考文檔:

Integration Services (SSIS) Event Handlers

System Variables

以上這篇基于SSIS 事件的向上傳遞(詳解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到MSSQL教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
美女航空一级毛片在线播放| 四虎精品一区二区| 国产日韩一区二区在线观看| 蜜桃传媒麻豆第一区在线观看| 日本不卡中文字幕| 国产91在线播放精品91| 亚洲精品综合网| 777电影在线观看| 亚洲欧美综合一区| 狠狠躁狠狠躁视频专区| 国产美女精品一区二区三区| 亚洲欧美制服丝袜| 日本免费一区二区视频| 国产精品日韩一区| 亚洲国产欧美日韩另类综合| 久久机热这里只有精品| 亚洲欧美天堂网| 日韩avxxx| 黄色国产在线| 成人一二三区| 中文字幕国产综合| free性护士videos欧美| heyzo在线观看| 三级毛片在线看| 色窝窝无码一区二区三区成人网站| 日韩高清中文字幕一区| 欧美激情精品久久| 国产亚洲综合在线| 成人黄色av免费在线观看| 91aaa精品| 日韩丝袜视频| 色一区在线观看| 稀缺小u女呦精品呦| 精品国产一区二区三区久久久狼牙| 国产精品二区在线观看| 久久精品亚洲精品| 粉嫩av蜜桃av蜜臀av| www深夜成人a√在线| 成人激情视频在线播放| 欧美一区二区三区爽大粗免费| 欧美麻豆久久久久久中文| tube8在线hd| 亚洲欧洲精品一区二区| 国产亚洲美女精品久久久| 日本精品免费在线观看| 亚洲成人久久精品| 欧美一区二区三区免费视频| 精品国产成人av| 蜜臀av粉嫩av懂色av| 最近中文字幕mv2018在线高清| 久久精品影视伊人网| 麻豆一区一区三区四区| 中文字幕一区二区三区四区| 日本成a人片在线观看| 美日韩在线观看| 欧美一级成年大片在线观看| 日本中文字幕第一页| 欧美xxxx做受欧美护士| 97久久精品一区二区三区的观看方式| 亚洲最好看的视频| 欧美一区二区三区网站| 手机在线视频一区| 日韩最新中文字幕电影免费看| 日本免费网站在线观看| 综合中文字幕亚洲| 91夜夜揉人人捏人人添红杏| 中文字幕最新精品| 亚洲第一色av| 成人精品一区二区三区免费| 日韩欧美一级| 日韩影院在线观看| 久久久久无码国产精品一区李宗瑞| 日韩在线不卡| p色视频免费在线观看| 日韩精品免费视频一区二区三区| 亚洲一区二区三区毛片| 浴室偷拍美女洗澡456在线| 欧美成人中文字幕在线| 亚洲一区二区三区自拍| 亚洲一区二区视频在线观看| 忘忧草精品久久久久久久高清| 亚洲一区二区三区sesese| 日韩经典在线观看| 国际精品欧美精品| 国产在线精品一区二区不卡| 久久99精品久久久久久欧洲站| 任你躁在线精品免费| caoporn成人免费视频在线| 国产精品对白久久久久粗| 首页国产欧美日韩丝袜| 欧美一区第一页| 亚洲国产aⅴ精品一区二区三区| 日本一区二区欧美| 成人av国产| 嫩草研究院在线观看| 国产精品99久久久久久董美香| 日韩欧美2区| 日韩av密桃| 国产奶水涨喷在线播放| 男男一级淫片免费播放| 啪啪小视频网站| 一本色道久久综合亚洲精品图片| 欧美xxxx综合视频| 男人久久精品| 亚洲第一精品电影| 欧美成人在线网站| dy888夜精品国产专区| 激情偷乱视频一区二区三区| avtt天堂资源网站| xxxxxhd亚洲人hd| 深田咏美中文字幕| 亚洲制服一区| 亚洲人在线观看| eeuss鲁片一区| 欧美影院一区二区| 男人添女人下面高潮视频| 国产a亚洲精品| 成人黄色三级视频| 国产视频一区二| 曰本大片免费观看视频| 日产午夜精品一线二线三线| 国产啪精品视频网站| 男人插入女人视频| 亚洲一区二区自偷自拍| 男生操女生视频在线观看| 亚洲成色999久久网站| 亚洲美女福利视频网站| 成人涩涩免费视频| 台湾亚洲精品一区二区tv| 中文字幕一区二区不卡| 欧美自拍丝袜亚洲| 国产999精品视频| 色小说视频一区| 国产婷婷97碰碰久久人人蜜臀| 亚洲区国产区| 成人欧美一区二区三区黑人一| 91丨porny丨探花| 91麻豆精品91久久久久同性| 国产剧情精品在线| 浅井舞香一区二区| 中文字幕日本在线| 激情成人在线观看| 亚洲国产婷婷香蕉久久久久久| 欧美一卡在线观看| 三上悠亚国产精品一区二区三区| 中文字幕在线观看精品| 亚洲色图偷拍自拍| 九色在线网站| 欧美精品久久久久久久久久| 日本在线播放一区二区三区| 亚洲77777| 日韩少妇裸体做爰视频| 熟女人妻在线视频| www.亚洲一区| a级免费观看| 欧美精品日韩少妇| 999视频精品| 国产精品色悠悠| 国产精品777一区二区| 韩国久久久久久| 冲田杏梨av在线| 欧美又大又硬又粗bbbbb| 最近中文字幕免费观看| 久草在线资源网站| www.亚洲天堂网| 国产a级一级片| av无码一区二区三区| 国产成人精品a视频一区www| 日本亚洲自拍| 国产黄a三级三级看三级| 久久免费视频播放| 色多多视频在线观看| 欧美美女bb生活片| 一区二区三区免费在线观看视频| 亚洲黄色性网站| 亚洲午夜在线| 天天躁日日躁狠狠躁伊人| 国产男女猛烈无遮挡91| 国产精品69久久久| 日本欧美一区二区三区不卡视频| 免费观看的黄色网址| 欧美大喷水吹潮合集在线观看| 国产真实乱在线更新| 免费在线观看av片| 亚洲综合五月天| 69堂亚洲精品首页| 日韩久久精品成人| 日本一区二区高清视频| 一级性生活视频| 91九色对白| www激情久久| 国产视频一区二区视频| 亚洲视频在线a| 三大队在线观看| 欧美丰满少妇xxxxx高潮对白| 久久久免费观看视频| 亚洲欧洲激情在线| 日本精品一区二区三区高清| 99热99精品| 男女黄床上色视频| 国产成人精品亚洲日本在线桃色| 91国偷自产一区二区三区成为亚洲经典| 成人三级视频在线观看一区二区| 黄色一级大片免费| 三年片观看免费观看大全视频下载| 欧美人与性禽动交精品| 污污内射在线观看一区二区少妇| 波多野结衣一区二区三区在线| 美女毛片免费看| 男人本色网站| 成人写真视频福利网| 一级特黄aa大片| 污污的视频在线免费观看| 国产精品xvideos88| 日韩一区二区精品视频| 黄色在线播放网站| 超碰超碰人人人人精品| 精品久久久免费视频| 久久人人九九| 日本一级理论片在线大全| 国产真乱mangent| 亚洲人视频在线观看| 二区在线观看| 欧美日本亚洲韩国国产| 欧美性天天影视| 中文字幕第100页| 激情图片qvod| 亚洲成人第一页| 亚洲色欲久久久综合网东京热| 亚洲一区欧美在线| 青青草综合视频| 啪啪激情综合网| 欧美精品aa| 欧美日韩精品区别| 国产成人高清精品| 国产特级嫩嫩嫩bbb| 悠悠资源网久久精品| 亚洲成色www久久网站| 国产91在线视频| 最新日韩精品| 亚洲激情在线看| 欧美主播一区二区三区美女| 亚洲理伦在线| 香蕉影院在线观看| jizzjizz16| 红桃视频国产精品| 日韩一级二级三级精品视频| 国产欧美一区二| 91久久精品在线| 黄色片在线免费看| 不卡的av在线播放| 成人精品免费在线观看| 欧美精品一区二区精品网| 欧美伦理影视网| 日日夜夜天天综合| 一区二区www| 国产乱精品一区二区三区| 亚洲综合第一区| 欧美大尺度激情区在线播放| 夜夜躁狠狠躁日日躁婷婷小说| 无码人妻少妇伦在线电影| 999在线观看视频| 高清视频欧美一级| 日韩欧美天堂| 老司机精品视频导航| 精品成人18| 久久久久综合一区二区三区| 在线观看岛国av| ****av在线网毛片| 亚洲一区二区成人在线观看| 乱码一区二区三区| 亚洲 国产 日韩 综合一区| 亚洲精品理论电影| 奇米一区二区三区av| 国产精品一区二区久久国产| 一级女性全黄久久生活片免费| 欧美黑人疯狂性受xxxxx喷水| 国产一区二区三区久久悠悠色av| 欧美12一14sex性hd| 日韩免费特黄一二三区| 日本精品在线播放| 白浆爆出在线观看| 日韩av影视大全| 视频在线一区| 日本a口亚洲| 亚洲欧美偷拍一区| 欧美午夜精品久久久久久蜜| 国产激情视频在线| 黄色免费福利视频| 亚洲卡一卡二| 亚洲综合免费观看高清完整版在线| av大片免费看| 久久久久成人精品无码中文字幕| 欧美日本亚洲韩国国产| 天天射成人网| 中文字幕第36页| 五月开心婷婷久久| 久久字幕精品一区| 97netav| 色综合天天视频在线观看| xvideos成人免费中文版| 天天免费综合色| 免费欧美日韩国产三级电影| 免费大片黄在线观看视频网站| 国产一级精品视频| 国产精品视频| 午夜免费福利在线观看| 亚洲午夜未删减在线观看| 日韩av有码在线| 在线观看视频在线观看| 欧美日韩午夜剧场| 亚洲欧美日韩国产一区二区三区| 全部孕妇毛片免费孕妇| 欧美性猛交xxxxx水多| 亚洲精品精选| 向日葵污视频在线观看| 色就是色亚洲色图| 欧美黑人孕妇孕交| 国产 日韩 欧美 成人| 在线视频中文亚洲| 国产三级精品视频| 久久国产精品一区二区三区| 泷泽萝拉在线播放| 性色88av老女人视频| 精品久久久久久亚洲综合网| 91玉足脚交嫩脚丫在线播放| 在线观看国产三级| 久久另类ts人妖一区二区|