Задача SSIS Execute SQL должна игнорировать ошибку в DROP TABLE - PullRequest
2 голосов
/ 04 октября 2019

Я только начинаю работу в SSIS для SQL Server 2016. Я пытаюсь просто УДАЛИТЬ ТАБЛИЦУ, прежде чем создавать новую, и использую задачу «Выполнение SQL» в качестве первого шага перед задачей «Поток данных» для создания новойТаблица. Я получаю сообщение об ошибке, что объект не существует. Похоже, что это было бы очень распространенным явлением в SSIS, и я читал много SO-сообщений об этой конкретной задаче, но пока ничего о том, как игнорировать ошибку. Я ожидал увидеть свойство для Execute SQL, которое позволяет игнорировать ошибки, или соединитель ошибок, или что-то подобное. Что-то в этой задаче я пропустил, или это неправильный способ убедиться, что таблица не существует, прежде чем пытаться создать новую?

Ответы [ 2 ]

3 голосов
/ 04 октября 2019

Вы можете использовать синтаксис drop if exists внутри задачи ВЫПОЛНИТЬ SQL:

DROP TABLE IF EXISTS tab_name; -- supported starting from SQL Server 2016
2 голосов
/ 04 октября 2019

Либо измените стрелку потока управления с Успешно на Завершение:

  1. Щелкните правой кнопкой мыши зеленую стрелку, идущую из Выполнить задачу T-SQL, которая удаляет таблицу.
  2. Нажмите Завершение. Стрелка станет черной.
...