Набор результатов SSIS подается параллельно хранимой процедуре - PullRequest
0 голосов
/ 01 декабря 2010

У меня сейчас 2 хранимые процедуры ...

Stored Proc # 1 возвращает список продуктов на основе ряда критериев

Хранимый Proc # 2 принимает один идентификатор продукта, выполняет некоторую сложную логику запроса и записывает результаты в таблицу

Моя проблема в том, что существует более 30 000 продуктов, и обработка набора результатов из сохраненного процесса # 1 по одному выполняется слишком медленно, и я не могу легко интегрировать весь пакетный вызов в хранимую процедуру # 2

Мой вопрос заключается в следующем: Используя SSIS, можно настроить задачу, которая бы получала набор результатов из хранимой процедуры № 1 и вызывала хранимую процедуру № 2 параллельно с каждой строкой.

EXAMPLE of Stored Proc 1 result set
-----------------------------------
Product ID
----------
ABC123
XYZ987
AAABBB
CCCDDD
EEEFFF

I need to setup SSIS to call the following in parallel:
-------------------------------------------------------
EXEC StoredProc2 'ABC123'
EXEC StoredProc2 'XYZ987'
EXEC StoredProc2 'AAABBB'
EXEC StoredProc2 'CCCDDD'
EXEC StoredProc2 'EEEFFF'

1 Ответ

1 голос
/ 01 декабря 2010

Ой, это много казней SP # 2. Вы можете сделать это, хотя.

Создать задачу потока данных. Добавьте компонент источника OLE DB в поток данных. Отредактируйте компонент и настройте его для выполнения SP # 1. Вы можете просмотреть столбцы в редакторе, чтобы увидеть, что будет выводиться из компонента.

Добавить компонент преобразования потока данных команды OLE DB. Создайте ссылку из первого компонента на компонент Команды OLE DB. Отредактируйте компонент и введите инструкцию SQL, которая будет запускать SP # 2, в свойстве SqlCommand на вкладке Свойства компонента. Включите вопросительные знаки (?) Для каждого параметра для SP.

Выберите вкладку Column Mappings. Свяжите столбец ввода с каждым параметром.

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