Хорошо, я могу видеть из вашего другого сообщения, что вы пытались что-то, а не просто спрашивали, как что-то сделать, поэтому я дам вам руку.
Вот пример того, как можно это сделать:
Вот пример пакета SSIS.
Для начала вам понадобится 3 переменные:
Две строковых переменными я назвал их НазваниеКомпанию и SQLStatement и переменным объект, который я назвал CompanyList.
Прежде всего нам необходимо заполнить CompanyList, мы делаем это в Execute SQL Task.
Мы должны установить набор результатов «Full Результат Set», то в заявлении SQL вы должны добавить свой путь получения полных названий компаний, например «Выберите уникальное имя из DBO .компания», здесь мы сохраним эти результаты в переменном объекте:
Это будет теперь хранить все результаты в переменную Object.
Теперь нам нужно настроить нашу переменную SQLStatement. Переменная это просто переменная строка, однако, что нам нужно сделать, это установить его на «EvaluateAsExpression» - «Правда»:
В выражении мы должны ввести следующее:
"Select * from dbo.[" + @[User::CompanyName] + "$Cust_ Ledger Entry].[Customer No_]"
Теперь это настройка, с которой мы можем справиться с ForeachLoop.
Установите цикл просмотра, как указано выше, где мы хотим, чтобы оценить «Ряды в первой таблице» против переменной объекта «CompanyList».
Следующим шагом является карта, что к нашей конечной переменной «CompanyName», который будет использоваться в из SQL выражения:
В цикл просмотра перейдите на вкладку VariableMapping и введите Выберите «CompanyName «переменная с индексом 0, это будет изменять переменную« CompanyName »каждый раз при запуске цикла, эффективно изменяя переменную Statement SQL, позволяя нам прокручивать каждую из компаний.
Заключительный шаг должен пойти в ДПФ и настройка OLEDB Источник:
Для OLEDB источника мы должны выбрать «команду SQL из переменной», здесь мы затем выбрать «SQLStatement "переменная.
После этого вы можете продолжить свой ДПФ по своему желанию.