Запуск решения / пакета SSIS удаляет компоненты из задачи потока данных

#sql #sql-server #ssis #ssms

#sql #sql-сервер #ssis #ssms

Вопрос:

Я работаю над пакетом для импорта данных из необработанного текстового файла в таблицу на SQL Server. Мой пакет содержит:

1) Задача процесса выполнения, которая запускает пакетный файл для компиляции файлов .txt

2) Задача выполнения SQL, которая обрезает таблицу, которую я хочу импортировать

3) Задача потока данных, которая берет данные из необработанного текстового файла и помещает их в таблицу на сервере SQL

Я смог выполнить каждый шаг по отдельности, и они работали так, как ожидалось, однако, когда я запускаю решение изнутри самой SSIS, оно выдает мне сообщение «успех», но на самом деле ничего не происходит. Что еще хуже, компоненты задачи потока данных теперь отсутствуют.

Кто-нибудь сталкивался с этим, кто нашел обходной путь?

Комментарии:

1. Что это значит: «когда я запускаю решение из самой SSIS»?

2. Можете ли вы добавить скриншот потока управления пакетом?

3. Я никогда не сталкивался с таким поведением за более чем 13 лет создания пакетов SSIS. Я думаю, нам понадобится больше деталей, как указали другие люди

Ответ №1:

Извините за отсутствие конкретики! Я действительно понял это. Позвольте мне уточнить мой второй абзац:

Пакетная часть и задача выполнения SQL работают отлично, когда я отключаю задачу потока данных! Однако после включения задачи потока данных пакет будет «запущен», но не завершит задачу потока данных и полностью удалит компоненты задачи потока данных. В задаче потока данных у меня было:

1) Источник плоского файла

2) Условное разделение, которое игнорировало строки в первом столбце, если значение было «».

3) Таблица назначения OLE DB

Я обнаружил, что изменение условного разделения с конкретного игнорирования строк с «» на создание критериев, основанных на длине значения, вместо поиска этого символа, сработало и не полностью удалило компоненты в задаче потока данных.

TL; DR: По какой-то причине созданному мной решению не понравилось, что критерии условного разделения основаны на символе «». Когда я удалил это, решение сработало отлично.