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

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

我有一个非常简单的 SSIS 数据流,它将两个 Excel 源结合在一起,进行小数据转换,然后加载到暂存 table。

但是,我的两个 Excel 源在执行阶段开始时立即失败。

我只收到以下无法描述的错误:

[LA Report Source [627]] Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.

[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on component "LA Report Source" (627) returned error code 0xC0202009.  The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.  There may be error messages posted before this with more information about the failure.

[NOLA Report Source [640]] Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.

[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on component "NOLA Report Source" (640) returned error code 0xC0202009.  The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.  There may be error messages posted before this with more information about the failure.

这个包已经工作了好几天了,几天前突然开始给出这个错误信息,数据源没有真正的改变。

此外,当我去预览 Excel 数据源时,我得到了这个奇怪的错误:

有什么想法吗?使用 Visual Studio 2008.

我想分享我想出的解决方案:

我对 Excel 来源中的 SQL 查询过于热心。我的 select 语句中有一个 WHERE 过滤器,它工作了一段时间,但数据中的异常一定导致了某些问题 - SSIS 根本不喜欢它。

我已经删除了 WHERE 部分,只留下 SELECT 部分,并且我使用条件拆分来处理过滤器。问题已解决!