SSIS - контрольные журналы ошибок, отправленные в каталог SSIS - PullRequest
0 голосов
/ 06 февраля 2019

У меня в SSIS есть пакет, в котором есть контейнер цикла foreach, который повторяет определенный поток данных 3 раза после сбоя.

enter image description here

Каждый сбойвошли в каталог служб SSIS, но в этом случае я хочу регистрировать ошибку только в случае сбоя в третий раз.Можно ли управлять этим журналом ошибок конкретно в службах SSIS?

У меня есть этот пакет, вызываемый мастер-пакетом, и окончательное состояние выполнения «сбой», если в дочернем пакете есть хотя бы один сбой,На самом деле, я хочу, чтобы оно показывало «сбой» в основном и / или дочернем пакетах, когда foreach завершается с ошибкой в ​​третий раз.

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Попробуйте выполнить следующие действия:

  1. Сначала установите ForceExecutionResult контейнера цикла Foreach (на вкладке свойств) в Success.
  2. Затем необходимо добавить переменную типа Int * (пример: @[User::counter] с начальным значением, равным 0
  3. Добавить Задание выражения после Data flow Task - с ограничением приоритета Failure - со следующим выражением:

    @[User::counter] = @[User::counter] + 1
    
  4. Добавить задачу сценария после контейнера цикла Foreach внутрипроверка сценария, если @[User::counter] равно 3, если это так, выведите исключение или используйте метод Dts.Events.FireError().

0 голосов
/ 06 февраля 2019

Вам понадобится задача «Выполнить SQL» для подсчета количества ошибок, поместите счет в переменную.Затем используйте переменную, соединяющуюся со следующим шагом, чтобы проверить, имеет ли переменная значения 3 или выше.

...