Служба SSIS 2008 Проверьте файл и выполните действия, если они найдены - PullRequest
0 голосов
/ 14 сентября 2011

У меня есть пакет, который должен проверить, существует ли файл в папке, и если файл существует, тогда возьмите ветку, которая импортирует файл на SQL Server, и выполните некоторые хранимые процедуры для его обработки. Если файл не существует, просто завершите текущий запуск пакета без ошибок. У меня все части работают нормально, за исключением обнаружения файлов и ветвления в зависимости от результатов. (Другими словами, в настоящее время он работает так, как будто файл там, и делает все остальное). Я знаю, как использовать задачу сценария для обнаружения файла и возврата ошибки, если она не найдена - мне нужно знать, как заставить основной пакет просто завершиться без ошибок в этом случае или продолжить и выполнить импорт, а остальную часть обработка, если файл был найден.

1 Ответ

0 голосов
/ 14 сентября 2011

Вы можете использовать контейнер цикла по каждому элементу на вкладке Поток управления.Прокрутите папку для данного шаблона (скажем, * .csv).Настройте диспетчер соединений с плоскими файлами, чтобы в качестве строки соединения использовать путь к файлу, полученный из контейнера «Для каждого цикла».

В этой настройке задача потока данных в контейнере «Для каждого цикла» будет выполняться, только если найден файл.В противном случае он завершит процесс без каких-либо ошибок.

Вот несколько других SO-вопросов, где я привел несколько примеров зацикливания файлов с использованием контейнера Foreach Loop.

Создание выражения для переменной объекта?

Как загрузить большой плоский файл в таблицу базы данных, используя SSIS?

Надеюсь, что это дает вам представление.

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