У меня есть требование "сгладить" набор результатов в пакете служб SSIS - это взять набор результатов, состоящий из нескольких строк, и создать одну строку с объединенными значениями.
Набор результатов возвращается мне через хранимую процедуру, которую по ряду причин я не могу изменить. Я не хочу дублировать логику в другую хранимую процедуру, поэтому ограничение заключается в том, что мне нужно начинать с результатов хранимой процедуры и работать с нее.
В настоящее время я использую «Выполнить задачу SQL» с подключением ADO.NET для запуска хранимой процедуры и возвращаю результаты в переменную SSIS типа Object.
Моя текущая мысль (от поиска в Google и т. Д.) Заключается в том, чтобы использовать «Выполнить задачу сценария», используя что-то вроде:
Dim flattened As New StringBuilder()
Dim adapter As New OleDbDataAdapter
Dim dt As New DataTable
Dim row As DataRow
adapter.Fill(dt, Dts.Variables("DataSet").Value)
For Each row In dt.Rows
flattened.Append(row("Column").ToString)
flattened.Append(DELIMETER)
Next
Return flattened.ToString
Приведенный выше пример возвращает мне ошибку: «Объект не является ADODB.RecordSet или ADODB.Record». Я попробовал довольно много разных вариантов вышеперечисленного, чтобы попытаться решить эту проблему, но дошел до того, что мои разочарования по поводу отладки в среде достигли цели.
Любые мысли приветствуются!
Спасибо