SSIS-将多个结果集从存储过程导出到Excel中的多个工作表

SSIS-将多个结果集从存储过程导出到Excel中的多个工作表,ssis,Ssis,我一直在创建一个SSIS包,其中我使用的过程返回3个结果集,这需要复制到一个包含3个不同工作表的excel中。我使用了一个脚本组件来提取数据,定义了3个输出,并使用数据读取器将结果映射到这些输出。我向3个不同的Excel文件目标添加了路径(都指向同一个文件,但不同的工作表)。当我运行这个包时,它每5/6次就可以正常工作一次,但大多数情况下会出现以下错误 有谁能帮我解释为什么它大部分时间都在失败,以及如何修复它 错误:0xC0202009位于数据流任务,Excel目标1[366]:SSIS错误代码

我一直在创建一个SSIS包,其中我使用的过程返回3个结果集,这需要复制到一个包含3个不同工作表的excel中。我使用了一个脚本组件来提取数据,定义了3个输出,并使用数据读取器将结果映射到这些输出。我向3个不同的Excel文件目标添加了路径(都指向同一个文件,但不同的工作表)。当我运行这个包时,它每5/6次就可以正常工作一次,但大多数情况下会出现以下错误

有谁能帮我解释为什么它大部分时间都在失败,以及如何修复它

错误:0xC0202009位于数据流任务,Excel目标1[366]:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80004005

错误:0xC0209029位于数据流任务,Excel目标1[366]:SSIS错误代码DTS_E_InjectedTransformFailureOnError。“输入”Excel目标输入(377)失败,因为发生错误代码0xC020907B,“输入”Excel目标输入(377)上的错误行处理指定错误时失败。指定组件的指定对象上发生错误。在此之前可能会发布错误消息,其中包含有关故障的更多信息


错误:0xC0047022位于数据流任务,SSIS。管道:SSIS错误代码DTS_E_PROCESSINPUTFAILED。组件“Excel目标1”(366)上的ProcessInput方法在处理输入“Excel目标输入”(377)时失败,错误代码为0xC0209029。标识的组件从ProcessInput方法返回错误。该错误特定于组件,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的详细信息。

尝试同时写入所有三张工作表可能会导致争用问题。重新设计软件包,强制三个数据流按顺序运行(sheet1、sheet2、sheet3),问题就会消失。

能否提供更多详细信息?e、 g.查询,您正在查询的数据看起来像什么,等等。您尝试过什么?可能是操作顺序问题。如果要并行填充Excel工作表,请尝试按顺序填充,以使其保持有序(Sheet1、Sheet2、Sheet3)。Tab-谢谢,争用是问题所在。一旦我开始一个接一个地填充表单,它就工作得很好。