Перечислитель ADO для SSIS Foreach с задачей и сценарием потока данных

Работаю над этим весь день, и это сводит меня с ума. Я новичок в SSIS (обычно программист на C#), поэтому все работает не так, как я ожидал:)

(tl; dr - как я могу использовать ADO ForEach Enumerator и передавать всю строку как переменную в задачу Data (которая содержит компонент Script) внутри?)

Сценарий: я использую компонент CDC Splitter в задаче данных для извлечения и выделения INSERTS, UPDATES и DELETES из таблиц CDC в моей базе данных. Я присваиваю каждое изменение переменной объекта уровня пакета, которая является набором записей.

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

Чтобы добиться этого, я уронил контейнер ForEach на поверхность и подключил его к переменной объекта INSERTS. Затем внутри этого контейнера я отбросил задачу потока данных, а затем внутри этой задачи потока данных я сбросил компонент сценария.

Идея состоит в том, что если для текущей строки будет выполнено какое-либо условие, строка будет добавлена ​​в буфер вывода компонента Script. Что меня беспокоит, так это то, что кажется, что единственный способ добиться этого - сопоставить каждый столбец в строке с коллекцией переменных циклов ForEach. Каждый пример, который я видел, отображает переменные, начинающиеся с индекса 0 и т. Д. Однако в моей строке много столбцов, и я не хочу создавать переменные для каждого столбца, поэтому неправильно делать это таким образом.

Итак, вопрос в том, что внутри контейнера ADO Enumerator ForEach, как передать текущую строку (все столбцы) в задачу данных внутри (и, в свою очередь, задачу скрипта в задаче данных)?

Спасибо за любой совет...

0 ответов

Другие вопросы по тегам