Как прочитать значение переменной в электронной таблице Excel с помощью служб SSIS - PullRequest
0 голосов
/ 01 ноября 2018

Нет. У меня есть пакет служб SSIS, который передает и архивирует файлы каждые 4 часа. Внутри этого пакета я выполняю SQL-задачу, которая выполняет хранимую процедуру, в которой я вызываю один столбец из архивной таблицы. Моя хранимая процедура работает, и каждый раз, когда я запускаю проект с точками останова, я вижу, что переменная получает значение столбца. Следующий шаг, который мне нужно сделать, это перенести это значение в электронную таблицу Excel. Для этого я создал задачу потока данных с источником Excel, производным столбцом и назначением Excel. Исходный файл Excel - это просто временный файл без данных, поэтому в задаче «Производный столбец» я заменяю столбец «F1» пользовательской переменной, а в конечном файле я сопоставляю это значение с правым столбцом. Каждый раз, когда я запускаю пакет, я получаю успешный запуск, но мой файл назначения пуст. Я не знаю, что я делаю неправильно, я пробовал все возможные варианты, но это не работает. Control Flow

[Data Flow Task-Derived Column Task]

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Вот код ответа @ Хади:

Использование исходного компонента скрипта.

  1. Добавьте вашу переменную в переменные чтения
  2. Добавьте имя выходного столбца к выходу Output0.
  3. Добавьте следующий код для создания данных для обработки

    Output0Buffer.AddRow();
    Output0Buffer.[Your Column Name] = Variables.[Your Variable name];
    

И все готово !!!

0 голосов
/ 01 ноября 2018

Как вы сказали

Исходный файл Excel - это временный файл без данных.

Задача потока данных используется для передачи данных из источника в пункт назначения. Если источник пуст, то никакие строки не передаются.

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

...