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

Sql server 将过程的第二个输出传递给SSIS OLEDB命令,sql-server,sql-server-2008,ssis,ssis-2012,msbi,Sql Server,Sql Server 2008,Ssis,Ssis 2012,Msbi,我遇到了这样一种情况:我正在使用数据流任务,从OLEDB源填充数据(调用SQL命令),并使用vdestination将其插入目标 在OLEDB源代码中,我调用了一个存储过程,该过程在第二个输出集中返回以下列: SELECT ERROR_NUMBER() AS ErrorNumber ,ERROR_SEVERITY() AS ErrorSeverity ,ERROR_STATE() AS ErrorState ,ERROR_PROCEDURE() AS Error

我遇到了这样一种情况:我正在使用数据流任务,从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; 
现在,我想将第二个输出列重定向到dataflow任务中的OLEDB命令转换,在这里我调用一个存储过程来记录错误

以下是问题列表:

  • 如何获取OLEDB源的第二个结果集并重定向到OLEDB命令转换

  • 如何在OLEDB命令转换中向存储过程传递参数

  • 我还想重定向所有行的错误输出,其中可以记录所有剩余行


  • 我用过程中的条件拆分和临时表解决了这个问题。

    ScriptComponent怎么样,或者将这些信息添加到每一行中。我知道第二个选项不太理想……我告诉过不要使用脚本任务组件。对于第二种方法,处理数据非常庞大,因此这将使整个过程变慢。那么,使用本机SSIS错误处理和捕获错误输出如何?似乎您正试图在SSI之上编程自己的错误处理—通常这是最简单的方法。否则,SSIS可能不是满足您需要的工具?是的,我正在尝试进行自定义错误处理,因为SSIS错误处理是有限的,我需要有关SSIS每次失败的详细信息。我正在努力。希望很快就能找到解决方案。您是否查看了事件处理程序中的可用信息?