SSIS将Excel工作表加载到表格时出错-OLEDB错误

时间:2018-07-09 14:11:05

标签: sql-server excel ssis

enter image description here

我正在尝试创建一个数据流任务,该任务将数据从Excel File导入SQL表。我正在使用Visual Studio 2012的SQL Server数据工具作为SSIS包进行此操作。但是,当我运行任务时,出现以下错误:

完整的错误消息:

标题:Microsoft Visual Studio

Exception from HRESULT: 0xC02020E8
Error at Import Leads DM Forecast CPPs prep [Excel Source [579]]: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.

Error at Import Leads DM Forecast CPPs prep [Excel Source [579]]: Opening a rowset for "CPPs$" failed. Check that the object exists in the database.

按钮:

确定

一些概述:我有.xlsx文件,并且其中有多个选项卡。但是在使用数据访问模式时,我只需要阅读一张工作表:表格或视图,并将Excel工作表名称指定为CPPs $。 (工作表名称为CPP) 我每年一次获得此文件。 在Excel工作表中,我有4列,并且每列上都有过滤器。列A具有mmyyyy数据。 我不确定将excel数据加载到表中哪里出错了。

请问您能帮忙吗?

1 个答案:

答案 0 :(得分:1)

我通常不使用Excel文件(而是CSV)。我建议的故障排除方法是通过源助手创建连接(确保选择正确的Excel版本),以排除连接管理器。可能是因为Excel文件中的数据不正确(例如空白行或其他内容),所以您可能希望将数据从CPP选项卡复制到新的工作簿中(仅使用一个选项卡),然后将所有空白行和列删除为预防。然后检查剩余的数据字段中是否有无效字符。希望对您有所帮助。