提问人:Paulo Felicio 提问时间:7/26/2019 最后编辑:HadiPaulo Felicio 更新时间:2/17/2021 访问量:11036
尝试在 SSIS 中导入 Excel 文件时出现“外部表不是预期格式”错误
Getting "External table is not in the expected format." error while trying to import an Excel File in SSIS
问:
我正在尝试通过 SSIS 将 Excel 文件 () 导入到 SQL Server 中的表中。但 SSIS 似乎无法将该文件识别为有效的 Excel 文件。我收到以下错误:.xls
错误 1:
[Excel 源代码 [86]]错误:SSIS
错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。
对连接管理器“Carga Base Original”的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。在此之前可能会发布错误消息,其中包含有关 AcquireConnection 方法调用失败原因的详细信息。
错误2:
[SSIS.Pipeline]
错误:Excel 源验证失败,并返回错误代码0xC020801C。
错误3:
[连接管理器“Carga Base Original”]错误:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。 OLE DB 记录可用。
来源:“Microsoft Access 数据库引擎”
Hresult: 0x80004005
说明:“外部表不是预期的格式”。
我的连接管理器属性是 Excel 源,其属性如下所示:
我正在通过变量传递 Excel 文件路径。Excel 文件看起来正常且未损坏。我试图放置一个修复 Excel 路径,尝试将其放在连接字符串属性(修复路径和变量)中,但这没有任何帮助。
谁能帮我?
答:
主要错误是:
外部表的格式不是预期的
当 Excel 文件已损坏并且无法由 Access 数据库引擎(OLE DB 访问接口)打开时,即使您可以从 Excel 中打开该文件,也会发生这种情况。在类似的情况下,手动打开文件并将其另存为新文件可能会奏效。
评论
就我而言,将邮件合并的引用 Excel 文件另存为 .xls (Excel 97 - 2003) 有效。.xlsx 引发了“外部表不是预期格式”错误消息,但 .xls 没有。
评论