Компоненты управления событиями
Внутри SSIS архитектуры существует расширенная концепция событий и обработчиков событий. В предыдущих версиях доступ к событиям уровня пакета достигался с помощью программного запуска пакета из среды Visual Basic или Microsoft Visual C++®. В SSIS же события пакета доступны в пользовательском интерфейсе и для каждого из них можно спроектировать его собственный обработчик с целью создания сложных потоков обработки. Фактически для каждой выполняемой контейнерной задачи в среде работы пакета существуют ее события. Ниже приведен список обработчиков событий, которые существует при выполнении пакета:
OnError | Событие возникает при появлении ошибки. |
OnExecStatusChanged | Это событие возникает, когда статус выполнения объекта меняет свое значение с True на False или наоборот. |
OnInformation | Это событие возникает, когда объект готов рапортовать о чем-либо. |
OnPostExecute | Это событие возникает сразу после того, как объект завершает выполнение. |
OnPostValidate | Это событие возникает сразу после того, как объект был протестирован в режиме редактирования. |
OnPreExecute | Это событие возникает непосредственно перед запуском объекта. |
OnPreValidate | Это событие возникает, когда начинается процесс проверки объекта. |
OnProgress | Это событие возникает, когда изменяется измеряемое состояние хода выполнения. |
OnQueryCancel | Это событие возникает непосредственно перед тем, как процесс готов к завершению. |
OnTaskFailed | Это событие возникает в том случае, если выполнение задачи завершилось неудачей. |
OnVariableValueChanged | Это событие возникает в том случае, когда меняется значение переменной, для которой задано свойство RaiseChangeEvent. |
OnWarning | Это событие возникает в том случае, когда генерируется предупреждение. |
При таком обилии обработчиков событий архитектура событий предлагает простые и стандартизированные решения задачи управления. Например, общую систему обработки ошибок и отчётности на уровне пакета или контейнера. ( Обработчики событий детально писаны в Server 2005 Books Online). В дополнение широта модели событий в общей архитектуре такова, что позволяет и более продвинутые решения с обработкой событий на самых низких уровнях. Такие низкоуровневые решения можно встраивать в задачи и потока управления и потока данных для поддержки самых малых частей систем ETL.