Использование имени файла для определения необходимости выполнения пакета служб SSIS - PullRequest
1 голос
/ 20 сентября 2019

У меня есть 4 разные компании, чьи таблицы мне нужно обработать.В настоящее время, если я получаю набор файлов, решение служб SSIS настроено на выполнение всех пакетов в решении, независимо от того, получил я эти файлы или нет.Я хочу изменить это поведение, посмотрев каталог Source, в котором хранятся файлы .xlsx.

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

enter image description here

Оттуда я хотел бы использовать имена файлов для возможной установки переменных (?- не уверен, что это будет наилучшим способом) установить ограничения приоритета для выполнения только тех пакетов, которые относятся к файлам компаний, которые мы получили.

Основываясь на снимках экрана, я хочу, чтобы пакеты компании A & B выполнялись, пока C & D пропускались, а затем переходили к следующему пакету.

Предложения о том, как достичьэта цель?

enter image description here

1 Ответ

0 голосов
/ 20 сентября 2019

Одним из способов будет создание логической переменной для каждой компании.

@CompanyA_Recd, @CompanyB_Recd, @CompanyC_Recd, @CompanyD_Recd

Ваш цикл foreach будет циклически проходить по файлам, анализировать каждое имя файла и помечать соответствующую переменную как true, если вы ее получили.файлы компании.

Тогда ваши ограничения приоритета могут просто проверить переменную для этой компании.

Обратите внимание, что, в зависимости от логики, которую вы хотите выполнить Final Report Package, это может означать, что вам может понадобиться дваограничения приоритета для каждой компании.Тот, который идет к пакету, если переменная равна true, и тот, который идет прямо к окончательному пакету, если переменная равна false.

...