Компонент сценария служб SSIS Сохранение всех строк - PullRequest
2 голосов
/ 22 апреля 2009

У меня есть компонент сценария SSIS, который получает строки из ввода.

Одна из строк на входе является логическим значением, которое определяет, относится ли строка к типу A или B.

Как получить скрипт для загрузки всех входных строк в правильный набор строк.

Также были бы полезны любые руководства по использованию коллекций строк и их выводу.

Ответы [ 2 ]

1 голос
/ 29 января 2010

Вы можете использовать что-то вроде того, что сделал Джейми Томсон в своей записи в блоге здесь:

http://consultingblogs.emc.com/jamiethomson/archive/2005/09/05/SSIS-Nugget_3A00_-Multiple-outputs-from-a-synchronous-script-transform.aspx

Он использует компонент сценария и разбивает выходные данные на несколько выходных потоков в зависимости от условий. В своем посте он очень кратко объясняет, как настроить компонент и как отправить правильные строки в правильный поток вывода. Надеюсь, это то, что вы искали.

0 голосов
/ 22 апреля 2009

Поскольку компонент скрипта использует VB, это будет что-то вроде

If Column(type) = True Then
  CollectionA.Add(row)
Else
  CollectionB.Add(row)
End If

Однако вы можете захотеть использовать DataTable, так как он более точно отражает то, что вы пытаетесь сохранить.

Существует событие, к которому вы можете привязать событие, которое выполняется, когда все строки прошли через компонент. Когда это событие выполняется, вы можете переместить данные из DataTables в некоторые переменные, которые существуют в потоке данных. Если вы введете эти переменные в качестве табличных значений, я считаю, что вы можете работать с этими переменными в потоке данных.

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

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