SSIS Исключить определенные файлы в контейнере циклов Foreach

У меня есть пакет служб SSIS, который загружает CSV-файлы из определенного каталога, используя выражение и подстановочный знак для сбора всех файлов.

В настоящее время FileSpec контейнера ищет все файлы в следующем формате:

fileName_environment_ *

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

fileName_environment_business_ *

Итак, второй пакет служб SSIS собирает только новые файлы, так как структура файлов будет выглядеть следующим образом:

filename_environment_abc 
filename_environment_def
filename_environment_xyz 
filename_environment_business_abc
filename_environment_business_def 
filename_environment_business_xyz

но первый пакет будет обрабатывать все файлы.

Итак, вопрос в том, могу ли я установить FileSpec первого пакета служб SSIS, чтобы игнорировать файлы в формате:

fileName_environment_business_ *

1 ответ

Решение

В контейнер цикла foreach положить манекен Script task перед первым блоком у вас уже есть. Соедините эти два с линией и установите Constraint Options к выражению, в котором вы должны определить FINDSTRING функция:

FINDSTRING(@var, "business", 1) == 0

Где @var - это повторяемый цикл.

Только файлы без "бизнеса" внутри перейдут к следующему шагу. Надеюсь, это то, что вы хотели.

Другие вопросы по тегам