Как прочитать и изменить имя столбца в компоненте сценария в службах SSIS - PullRequest
1 голос
/ 03 ноября 2010

Источник: ADO.Net (TSQL -query): Query вернет набор данных (имена столбцов - месяцы, т. Е. JAN FEB MAR APR JUN JUL .... DEC)

Назначение: Excel

Если вы запускаете пакет, он передает данные, а в Excel появляются имена столбцов, такие как JAN FEB MAR .. DEC -> это ожидаемый результат

Новое требование: 1. Определите переменную с именем«Год» и стоимость 2010 года. Это может варьироваться.2. используя компонент сценария в потоке данных, мне нужно изменить имена столбцов, чтобы в конце было _2010, т.е.внутри метода с именем «ProcessInputRow» в компоненте сценария.Пожалуйста, сообщите мне, как добиться этого, то есть изменить имена входных столбцов в Компонент скрипта и перенести это в место назначения.

Заранее спасибо

1 Ответ

1 голос
/ 03 ноября 2010

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

Что вы можете сделать, это добавить новые столбцы к своему выходу, перейдя в область «Входы и выходы» в редакторе преобразования сценариев, открыв «Выход 0», а затем добавив 12 столбцов в область «Выходные столбцы».Затем вы должны присвоить данные из каждого из ваших входных столбцов соответствующим выходным столбцам в вашем скрипте.

Это было бы лучше сделать с помощью преобразования «Производный столбец».

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

Однако вы можете попробовать следующее: Имена столбцов Excel на самом деле являются содержимым первой строки таблицы Excel.Создайте поток, который выводит одну строку в верхней части электронной таблицы с правильными данными (используйте компонент сценария в качестве источника данных), а затем запустите поток данных, чтобы добавить данные.

...