Событие SSIS (или что-то), когда пакет заканчивается - PullRequest
2 голосов
/ 30 марта 2012

Мне нужен способ выполнения хранимой процедуры, когда заканчивается мой пакет ssis.

Независимо от того, провал это или успех.

Есть ли способ сделать это, не подключая события отказа от каждой из моих задач? Я искал событие OnPackageEnd или что-то еще, но не вижу его.

У кого-нибудь есть идеи?

Ответы [ 4 ]

4 голосов
/ 30 марта 2012

В пакете положить все задания в контейнер. А под контейнером поставьте задачу «Выполнить обработчик» и для ограничения приоритета выберите значения «Завершение» (строка будет синего цвета, по умолчанию зеленого цвета). Таким образом, независимо от статуса пакета (успех или неудача) сохраненный процесс будет выполнен.

3 голосов
/ 30 марта 2012

Ну, я думаю, что самое простое - добавить выполнение proc в качестве второго шага в задании, которое выполняет пакет, вы можете указать там, что вы можете перейти к следующему шагу как при неудаче, так и при успехе.

Или вы ставите задачу Exec SQL для выполнения пакета в конце процесса (который получает ветвь успеха) и помещаете его в обработчик событий для всех сбоев (мы делаем обработчик событий на уровне пакета, а не для отдельных шаги), мы делаем это для одного шага, когда мы запускаем один и тот же процесс, но с разными входными значениями в случае неудачи или успеха.

0 голосов
/ 03 июня 2014

OnPostExecute выполняется для каждой задачи. Так что это не хорошо для требования, которое ожидает OnPackageEnd вроде события.

0 голосов
/ 30 марта 2012

Вы можете создать обработчик события onPostExecute для pacakge и добавить туда процесс для выполнения задачи SQL

ИЛИ

добавьте все ваши текущие компоненты в контейнер последовательности и перетащите зеленую стрелку в новый компонент задачи выполнения SQL с вашей процедурой. Дважды щелкните зеленую стрелку и выберите «Завершение» вместо «Успех»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...