2017-01-27 5 views
0

У меня возникла ситуация, когда я использую задачу потока данных, в которой я заполняю данные (команду вызова SQL) из источника OLEDB и вставляя их в пункт назначения, используя vdestination.Пропустить второй вывод процедуры для команды SSIS OLEDB

В источнике OLEDB, я звоню хранимую процедуру, которая возвращает следующие столбцы во втором выходном наборе:

SELECT 
    ERROR_NUMBER() AS ErrorNumber 
    ,ERROR_SEVERITY() AS ErrorSeverity 
    ,ERROR_STATE() AS ErrorState 
    ,ERROR_PROCEDURE() AS ErrorProcedure 
    ,ERROR_LINE() AS ErrorLine 
    ,ERROR_MESSAGE() AS ErrorMessage; 

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

Вот список вопросов:

  1. Как получить второй результирующий набор источника OLEDB и перенаправления команд преобразования OLEDB?

  2. Как передать параметры хранимой процедуре в преобразовании команды OLEDB?

  3. Я также хочу перенаправить вывод ошибки для всех строк, где все оставшиеся строки могут быть зарегистрированы.

+0

Что касается ScriptComponent или добавления этой информации в каждую строку. Я знаю, что второй вариант менее идеален ... –

+0

Я сказал, чтобы не использовать компонент задачи скрипта. Для обработки второго подхода данные очень велики, поэтому это замедлит процесс всего процесса. –

+0

Как насчет использования собственной обработки ошибок SSIS и вывода ошибок при выходе? Похоже, вы пытаетесь запрограммировать собственную обработку ошибок поверх SSIS - обычно это самый простой способ. В противном случае, возможно, SSIS не является инструментом для ваших нужд? –

ответ

0

Я решил это, используя некоторый трюк с разбитыми на условия и временными таблицами в процедуре.

Смежные вопросы