Как добавить определенные c данные в место назначения плоского файла с помощью пакета SSIS l oop iterate?
Источник: пример данных emp (SQL Server). В этой таблице у меня есть 1 миллион записей
Мне нужно загрузить специфику c empid информацию в место назначения плоского файла, используя l oop iterate.
Пример данных
empid | Ename
------+---------
1 | ab
2 | dg
3 | hg
Загрузить указанную c информацию об empid поддерживать в таблице empmaster. Значенияmpids, часто меняющиеся в таблице empmaster
Таблица: Empmaster
Empid
-----
1
2
5
6
Место назначения: текстовые файлы emp.txt
empid | Ename
-------+--------
1 | ab
2 | dg
Я пробовал вот так:
Шаг 1: создайте 2 переменные empid
(тип данных varchar) и empidresult
(объект типа данных)
Шаг 2: перетащите задачу «Выполнить SQL» и используйте соединение oledb и команду SQL: select distinct empdid from empmaster
, а набор результатов: fullresultset и переменную набора результатов выберите empidresult
Шаг 3: перетащите контейнер foreachloopcontainer, тип контейнера - foreachadoenumerator, переменная adoobjectsource: empidresult, а сопоставление переменных: empid
Шаг 4: внутри контейнера перетащите d ataflow и используя соединение с источником oledb SQL оператор с параметрами
select empid,ename from emp where empid =? and parameter mapping to empid
Шаг 5: перетащите flatfiledestination и настройте файл emp.txt здесь Я выбираю имена столбцов в первом Строка данных не отмечена и перезаписывать данные в файле не отмечена и выполняется пакет. Я могу добавить данные для необходимых данных empids, но заголовок отсутствует.
Я пробовал другие методы записи empmaster, которые я преобразовал в строки столбцы и результат сохраняются в объект с запятой, но поддерживает только до 9000 записей
, если основная таблица имеет более 10000 записей, тогда она не работает, мне нужна первая строка в качестве заголовка, тогда оставайтесь каждый l oop итерация должна быть данные добавляются в файлы назначения.
Как выполнить эту задачу на сервере sql?