SSIS l oop итерационная помощь пакета - PullRequest
0 голосов
/ 13 июля 2020

Как добавить определенные 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?

1 Ответ

0 голосов
/ 14 июля 2020

что не так с потоком данных, источником которого является:

SELECT empid,ename 
FROM emp
   JOIN Empmaster on emp.empid = Empmaster.empid

, а затем просто запустить его в вывод в виде плоского файла.

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