SSIS中对多个工作表的条件拆分转换

Posted

技术标签:

【中文标题】SSIS中对多个工作表的条件拆分转换【英文标题】:Conditional Split Transformation To Multiple Sheets In SSIS 【发布时间】:2015-04-14 15:52:04 【问题描述】:

我正在尝试根据 SSIS 条件拆分转换中给出的条件将数据从 SQL 表中插入三个 excel 表。

当我第一次运行包时,它成功但之后我收到以下错误:

[Excel Destination [133]] Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.

[Excel Destination [133]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR.  The "input "Excel Destination Input" (144)" failed because error code 0xC020907B occurred, and the error row disposition on "input "Excel Destination Input" (144)" specifies failure on error. An error occurred on the specified object of the specified component.  There may be error messages posted before this with more information about the failure.

[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED.  The ProcessInput method on component "Excel Destination" (133) failed with error code 0xC0209029 while processing input "Excel Destination Input" (144). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running.  There may be error messages posted before this with more information about the failure.

随机 Excel 目标发生此错误。我找不到原因。

任何帮助将不胜感激。

【问题讨论】:

您是否尝试将数据附加到同一个 Excel 工作表?如果是这样,您可能需要在开始加载数据之前删除并重新创建整个工作表。 我有一个模板文件,它将在加载数据之前复制到另一个位置。 【参考方案1】:

您需要按顺序装入 3 张纸。尝试同时加载它们可能会导致争用问题。重新组织您的包,以便强制按顺序加载工作表(工作表 1、工作表 2、工作表 3)。

【讨论】:

是的,你是对的。 SSIS 不支持上述场景。

以上是关于SSIS中对多个工作表的条件拆分转换的主要内容,如果未能解决你的问题,请参考以下文章

SSIS在Unicode和非Unicode错误之间转换

SSIS 在 Unicode 和非 Unicode 错误之间转换

SSIS条件性分裂谱系误差

动态执行从 SSIS 到 SSMS 中不同表的不同表结构的 Excel 包工作表?

SSIS派生列问题

将多个 html 表转换为具有多个工作表的 Excel 工作簿