将过程的第二个输出传递给 SSIS OLEDB 命令

Pass second output of procedure to SSIS OLEDB Command

我有一种情况,我正在使用数据流任务,我从 OLEDB 源填充数据(调用 SQL 命令)并使用 vdestination 将其插入目标。

在 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. 我还想重定向所有可以记录所有剩余行的行的错误输出。

我在过程中使用条件拆分和临时表的一些技巧解决了这个问题。