婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 基于SSIS 事件的向上傳遞(詳解)

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

熱門標簽:優(yōu)質(zhì)地圖標注 奧威地圖標注多個地方 武漢長沙外呼系統(tǒng)方法和技巧 千呼電銷機器人價格 智能語音外呼系統(tǒng)選哪家 京華物流公司地圖標注 怎樣在地圖上標注路線圖標 百度地圖標注不同路線 外呼系統(tǒng)電銷專用

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

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

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

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

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

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

MSDN對圖示做了說明:

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的默認值是True,這意味著,默認情況下,該事件將會被傳遞到上層級別的Event Handler中進行處理。有一個例外是在父子包結(jié)構(gòu)中,子Package在進行包驗證(Validation)時,不管子包的Propagate變量的值如何設(shè)置,都會把驗證事件傳遞到父包中,父包繼續(xù)執(zhí)行驗證。

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

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

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

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

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

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

二,禁用錯誤事件的向上傳遞

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

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

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

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

step2,設(shè)置Propagate的值

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

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

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

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

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

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

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

參考文檔:

Integration Services (SSIS) Event Handlers

System Variables

以上這篇基于SSIS 事件的向上傳遞(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

標簽:銅仁 益陽 防疫戰(zhàn)設(shè) 威海 天水 宿州 來賓 七臺河

巨人網(wǎng)絡(luò)通訊聲明:本文標題《基于SSIS 事件的向上傳遞(詳解)》,本文關(guān)鍵詞  基于,SSIS,事件,的,向上,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《基于SSIS 事件的向上傳遞(詳解)》相關(guān)的同類信息!
  • 本頁收集關(guān)于基于SSIS 事件的向上傳遞(詳解)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩成人精品在线观看| 欧美在线综合视频| 久久这里只精品最新地址| 国产麻豆精品视频| 亚洲国产成人va在线观看天堂| 欧美成人精精品一区二区频| 欧美在线观看禁18| 成人精品国产一区二区4080| 经典三级在线一区| 麻豆成人在线观看| 日本不卡的三区四区五区| 一区二区三区日韩欧美精品| 国产精品国产三级国产aⅴ原创| 日韩区在线观看| 69av一区二区三区| 欧美一区二区三区思思人| 欧美日韩dvd在线观看| 欧美在线观看视频在线| 在线免费观看日韩欧美| 91成人在线免费观看| 91亚洲精品一区二区乱码| 韩国视频一区二区| 国产精品一区二区在线观看网站| 久久99热国产| 国产成人在线看| 春色校园综合激情亚洲| 成人精品国产一区二区4080| 91小视频在线免费看| 91色porny在线视频| 色婷婷国产精品| 欧美日韩高清一区| 日韩欧美亚洲另类制服综合在线| 亚洲精品一区二区三区四区高清 | 国产欧美日韩视频在线观看| 国产欧美日韩不卡免费| 成人免费在线观看入口| 亚洲综合精品久久| 日本成人在线一区| 国产成人综合精品三级| 国产黄人亚洲片| 色综合天天综合| 欧美精品免费视频| 久久久久久97三级| 一区二区三区日韩欧美| 日本特黄久久久高潮| 粉嫩蜜臀av国产精品网站| av毛片久久久久**hd| 欧美美女bb生活片| 久久亚洲影视婷婷| 一区二区三区四区在线播放| 免费国产亚洲视频| 成人app在线观看| 欧美日韩免费在线视频| 国产亚洲成年网址在线观看| 亚洲一区二区三区国产| 国产乱国产乱300精品| 91国内精品野花午夜精品| 精品久久久久一区| 一区二区三区久久| 大美女一区二区三区| 欧美丰满嫩嫩电影| 亚洲欧美欧美一区二区三区| 久久av中文字幕片| 日本乱人伦aⅴ精品| 久久久一区二区三区捆绑**| 亚洲777理论| 成人国产免费视频| 欧美成人官网二区| 亚洲午夜在线视频| 91在线精品秘密一区二区| 精品少妇一区二区三区| 亚洲gay无套男同| 99re成人在线| 久久精品视频免费| 久久精品国产亚洲高清剧情介绍| 91麻豆视频网站| 久久精品在线观看| 久久国产尿小便嘘嘘| 欧美日韩精品一区二区三区| 中文字幕在线不卡一区二区三区| 国产一区二区视频在线播放| 欧美一级精品大片| 性欧美大战久久久久久久久| 在线观看视频欧美| 亚洲同性gay激情无套| 不卡一二三区首页| 国产精品亲子伦对白| 午夜久久福利影院| 丁香一区二区三区| 日韩精品一区国产麻豆| 日韩av不卡在线观看| 7777精品伊人久久久大香线蕉 | 精品国产91久久久久久久妲己| 午夜免费欧美电影| 91女厕偷拍女厕偷拍高清| 国产欧美精品国产国产专区| 狠狠色狠狠色合久久伊人| 精品久久久久久久久久久久包黑料 | 成人免费的视频| 久久久不卡网国产精品二区 | 国产91精品一区二区麻豆网站| 91精品国产91久久久久久一区二区 | 国产欧美精品一区aⅴ影院| 看国产成人h片视频| 欧美日韩国产精选| 亚洲图片欧美综合| 色偷偷88欧美精品久久久| 亚洲精品第一国产综合野| 在线观看日韩电影| 日韩精品色哟哟| 欧美精品一区二区三区四区| 国产乱码精品1区2区3区| 国产精品二三区| 91麻豆国产精品久久| 亚洲午夜av在线| 日韩亚洲欧美一区| 国产成人精品1024| 亚洲激情中文1区| 欧美一区日本一区韩国一区| 国产精品一区二区免费不卡| 综合久久给合久久狠狠狠97色| 欧美四级电影在线观看| 久久精品国产网站| 国产精品毛片大码女人| 欧美色精品在线视频| 精品一区二区三区在线观看| 国产精品女同一区二区三区| 欧美性三三影院| 国产不卡在线播放| 亚洲18色成人| 国产精品午夜在线观看| 欧美日韩精品一区二区天天拍小说| 老鸭窝一区二区久久精品| 最近中文字幕一区二区三区| 欧美一二三区精品| 91在线国产观看| 精品在线播放免费| 亚洲一区二区精品久久av| 精品国产麻豆免费人成网站| 欧美亚洲一区二区在线观看| 国产精品一区免费视频| 亚洲mv大片欧洲mv大片精品| 国产精品久久久一区麻豆最新章节| 欧美电影在哪看比较好| 99久久久久久| 国产九色sp调教91| 午夜视频在线观看一区二区| 日韩毛片精品高清免费| 国产三级一区二区三区| 欧美一区二区三区在线电影 | 亚洲国产精品久久久久秋霞影院| 国产欧美1区2区3区| 精品日韩在线观看| 欧美男男青年gay1069videost| 99久久亚洲一区二区三区青草| 久久99久久精品欧美| 亚洲va韩国va欧美va| 亚洲精品一卡二卡| 国产精品女主播av| 久久久影院官网| 精品国产人成亚洲区| 这里只有精品99re| 欧美天堂一区二区三区| 在线观看国产一区二区| 99久久99久久精品国产片果冻| 国产精品自在在线| 国产一区二区福利视频| 久久成人免费网站| 视频一区视频二区在线观看| 亚洲国产成人精品视频| 一个色综合av| 亚洲国产精品久久久男人的天堂| 一区二区三区欧美在线观看| 亚洲免费色视频| 亚洲精品成人在线| 一区二区三区四区不卡视频| 一区二区不卡在线播放| 亚洲一区二区三区四区的| 欧美一区二区国产| 一本一道久久a久久精品综合蜜臀| 欧美肥妇bbw| 国产精品国产自产拍在线| 国产午夜亚洲精品羞羞网站| 欧美在线制服丝袜| 337p亚洲精品色噜噜狠狠| 日韩亚洲欧美在线| 日韩精品一区二区三区中文精品| 精品处破学生在线二十三| 国产欧美一区二区精品忘忧草| 国产精品成人一区二区三区夜夜夜 | 国产欧美日韩在线视频| 国产精品网站一区| 亚洲精品综合在线| 日本午夜精品一区二区三区电影| 久久精品国产秦先生| 国产凹凸在线观看一区二区| 北条麻妃一区二区三区| 在线观看一区日韩| 欧美成人三级电影在线| 国产婷婷一区二区|