Как запустить элемент потока данных пакета служб SSIS, используя определяемый пользователем параметр / переменную? - PullRequest
0 голосов
/ 16 апреля 2020

Использование SSDT 16.0.61908, SSIS 15.0.2000 и VS Community 16.3.4

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

Например, если переменная указывает «А», то выполнить поток данных 1. Если переменная указывает «B», тогда выполните поток данных 2.

Я уверен, что должен быть простой способ сделать это, но я не вижу его ни в одной документации ясно.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020

Вы ищете ограничение приоритета. Добавьте контейнер последовательности в ваш пакет. Назовите это Decision Point или что-то в этом роде. Цель этого состоит в том, чтобы иметь общего родителя для всех исполняемых файлов, которые необходимо выяснить, если их очередь запускать

Затем перетащите зеленые стрелки из него в ваши различные потоки данных.

Дважды щелкните стрелки и измените ограничение с Ограничение на Ограничение и выражение.

Контейнер последовательности служб SSIS: настройка условных параметров, когда файл отсутствует

В вашем выражении вы бы сделали что-то вроде @[User::MyVar] == "A" для потока данных 1, @[User::MyVar] == "B" для потока данных 2 и т. д. c

Если вам понадобится один и тот же преемник для них обоих, вы измените выходной путь различных потоков данных для использования ограничения прецедента Or.

2 Задачи потока данных, связанные с одним Выполнить SQL Задача

0 голосов
/ 16 апреля 2020

Передайте параметр в пакет с помощью «A» или «B» в вашем примере.

Используйте задачу, которая на самом деле ничего не делает, например выражение.

ссылка выражение для обоих потоков данных и условия пути к A или B.

enter image description here

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