SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E37

时间:2014-10-31 07:01:35

标签: sql-server excel ssis bids

这是我在这里的第一个问题,在发布此问题之前,我已经检查了所有以前与此相关或与此相关的问题,但我无法解决问题,尽管应用了其他成员建议的修复程序。请帮忙。

我的方案:我在一个工作簿中放了多个excel表(MS Excel 2007格式)。我创建了一个带有包范围的User变量,该变量保存了每个循环容器中的第一个工作表名称。

  • 我想做什么

:我想在单个工作簿中读取多个excel表,然后将它们写入SQL表。我已经能够完成读取单个excel文件并将其写入SQL表而不是多个excel文件。

  • 安装了软件:

    我正在使用带有BIDS的SQL Server企业版R2。

  • 我到目前为止所采取的解决步骤:

    • 已将excel连接管理器中的DelayValidation属性设置为True
    • 使用了包含级别范围的变量并为其指定了第一个工作表名称,在我的情况下,该名称被命名为“Sheet1”
    • 我的连接字符串为"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +@[User::SheetName]+ ";Extended Properties=\"EXCEL 12.0 XML;HDR=YES\";",评估为正确
    • 已将Package属性设置为使用本论坛中建议的32位验证,因为我使用的是32位操作系统

我在设计时没有错误,但是当我开始调试项目时,我得到以下错误,

[Excel Source [1]] Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80040E37.
[Excel Source [1]] Error: Opening a rowset for "C:\Users\XYZ\Desktop\Dataset\BasicData.xlsx" failed. Check that the object exists in the database.
[SSIS.Pipeline] Error: "component "Excel Source" (1)" failed validation and returned validation status "VS_ISBROKEN".
[SSIS.Pipeline] Error: One or more component failed validation.
Error: There were errors during task validation.

拜托,任何人都可以让我知道我做错了什么,以及如何解决这些错误。

谢谢,

0 个答案:

没有答案