Як продовжувати роботу після відмови в SSIS


12

Я хочу реалізувати щось на зразок наступного: введіть тут опис зображення

У цьому пакеті я хочу переглядати список імен баз даних, динамічно змінюючи налаштування менеджера з'єднань.

Однак перший збій у "Тестовому з'єднанні" зупинить і не виконає виконання пакету.

Але я хотів би продовжити свою петлю Foreach. Я розумію, що це має бути можливим (інакше в чому полягає користь для цих червоних стрілок відмови?)

Те, що я спробував, - це возитися з "MaximumErrorCount".

Відповіді:


12

Щоб відповісти на запитання, як я його задав, можна продовжувати і після відмов, переконавшись, що MaximumErrorCount дорівнює нулю для завдання та його батьківських контейнерів ... У цьому випадку це означає завдання "Тест з'єднання", контейнер "Foreach" і сам пакет.

Я врешті-решт робив щось інше, хоча. І Джеймі Томсон перевірте зв'язок перед його використанням тут було корисно. Ось що я зробив:

Я замінив завдання Test Connection на завдання скрипта. Завдання сценарію було майже точно схоже на сценарій Джеймі, за винятком того, що я

  • використовувався лише один менеджер з'єднань, не всі вони,
  • результат завдання завжди був успіхом
  • і я встановив нову змінну "User :: ConnectionSucceeded" до результату тесту на з'єднання.

Я також змінив стрілки, що виходять із завдання тестового з'єднання, щоб оцінити вирази, вони оцінюють:

  • @ [Користувач :: ConnectionSucceed] == Істинно
  • @ [Користувач :: ConnectionSucceed] == Неправдиво

відповідно.

Я також повинен був пам’ятати, щоб відредагувати кілька обмежень, що входять у завдання «Оновити LastMonitored». Я змінив їх на використання логічного "АБО".

Ось як виглядає мій пакет SSIS зараз: новий пакет


1

Найпростіший спосіб ...

Двічі клацніть на обмеження прецеденту (зелена лінія) після завдання "Тест з'єднання". Вам слід побачити "Параметри обмеження", натисніть на випадаючий список "Значення" та виберіть "Завершення". Це повідомляє вашому пакунку продовжувати працювати після завершення завдання, незалежно від того, чи не вдалося його виконати.

Примітка. Не змінюйте випадаючий список "Операція оцінювання" на "Обмеження", якщо ви не хочете додати вираз, який слід оцінювати після завершення завдання. Також зберігайте обмеження на "Логічне І".

Сподіваюсь, це допомагає.

Використання обмеження пріоритету


Обмеження пріоритету було встановлено "Успіх" навмисно. Крім того, змінити його на "Завершення" не стосується питання, яке я задав, або завдання, з яким я зіткнувся. Якщо "Test Connection" не вдається, це все ще зупиняє виконання пакета.
Michael J Swart

Стільки прочитаних сторінок, щоб нарешті знайти цю відповідь! Дякую!
alexkovelsky
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.