Как загрузить файлы, связанные с несколькими исходными папками, в таблицу назначения с помощью одного пакета foreachloop ssis - PullRequest
0 голосов
/ 25 сентября 2018

Привет, у меня есть одно сомнение в ssis,

как загрузить файлы, связанные с несколькими исходными папками, в таблицу параметров с помощью одного пакета sache foreachloop.

исходные файлы доступны в двух разных папках и всеСвязанная структура файлов одинакова в обеих папках.исходный файл имеет пути: c: \ chenlocation \ в исходном пути есть файлы вроде: emp.txt, emp1.txt, emp2.txt c: \ punelocation \ в исходном пути имеют файлы вроде: emp_pune.txt, emp_pune1.txt,emp_pune2.txt, emp_pune4.txt.

в двух исходных путях (пути chenandpunelocation) все файловые структуры одинаковы и выглядят как столбцы id, name, sal.Таблица назначения (сервер sql): emp и столбцы имеют одинаковый идентификатор, имя, значение * sal

в пакете ssis, который я реализовал, как показано ниже: объявить переменные:

путь_списка_c: c: \ chenlocation \ filename: emp.txt punelocationpath: c: \ punelocation \

, после которого можно перетащить конкатайн foreachloop и ввести> foreachfileenumerator> каталог> переменная checnloationpath> тип файла> *. txt

отображение переменных> переменная имени файла.после этого перетащите задачу dft и настройте источник плоского файла и измените этот тип данных после того, как будет настроена эта таблица сервера назначения sql.

после этого снова перетащите 2-й контейнер foreachloop и введите> foreachfileenumerator> directory> punelocationpathпеременная> тип файла> *. txt

отображение переменной> переменная имени файла.после этого перетащите задачу dft и настройте источник плоского файла и измените этот тип данных после того, как будет настроена эта таблица сервера назначения sql.после выполнения все записи загружаются в таблицу назначения без сбоев.

здесь я использовал 2 задачи foreachloop для обработки двух разных исходных путей.Я хочу реализовать один foreachloop с двумя различными путями к папке назначения в таблице назначения

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

1 Ответ

0 голосов
/ 25 сентября 2018

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

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