Компоненты в SSIS написаны на C #, поэтому вам не нужно повышать производительность при переходе к компоненту сценария по сравнению с компонентом потока данных. Мне было бы интересно узнать, в чем разница в производительности между двумя идентичными пакетами, которые реализуют условное разделение через компонент условного разделения по сравнению с компонентом сценария. У вас может быть узкое место в производительности в другом месте.
Вы упомянули, что расщепление обрабатывается динамически, не могли бы вы, пожалуйста, быть более точным в отношении правил для этого? Как правило, разделение строк может быть обработано с помощью преобразования «Производный столбец», которое может создать новый столбец с именем RowSplitIndicator, который может иметь значение типа bit, int, string. Оттуда строка может быть условно разделена на основе любого значения в RowSplitIndicator. Это упрощает общий дизайн в случае сложной логики разделения.
Однако ответ на ваш вопрос заключается в том, что сначала вам нужно добавить строку в буфер конвейера, а затем вы можете присвоить значения столбцам буфера:
MyAddressOutputBuffer.AddRow();
MyAddressOutputBuffer.OutputColumnName = YourVariable;
Примечание: ваш компонент скрипта теперь асинхронный в том смысле, что есть одна строка и есть много строк.