【问题标题】:SSIS - exporting multiple resultsets from stored procedure to multiple sheets in an ExcelSSIS - 将多个结果集从存储过程导出到 Excel 中的多个工作表
【发布时间】:2015-04-03 02:49:31
【问题描述】:

我一直在创建一个 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_INDUCEDTRANSFORMFAILUREONERROR。 “输入“Excel 目标输入”(377)”失败,因为发生错误代码 0xC020907B,并且“输入“Excel 目标输入”(377)”上的错误行处置指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,其中包含有关失败的更多信息。

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

【问题讨论】:

  • 你能提供更多细节吗?例如查询,您查询的数据是什么样的,等等。您尝试过什么?
  • 可能是操作顺序问题。如果您要并行填充 Excel 工作表,请尝试按顺序执行,强制其按顺序排列(Sheet1、Sheet2、Sheet3)。
  • Tab - 谢谢,问题是争用。一旦我开始一个接一个地填充工作表,它工作得很好。

标签: ssis


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-21
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 2021-01-10
    相关资源
    最近更新 更多