我正在尝试通过SSIS将Excel文件(.xls
)导入SQL Server中的表。但是SSIS似乎无法将文件识别为有效的Excel文件。我收到以下错误:
错误1:
[Excel来源[86]]错误:SSIS
错误代码DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。
对连接管理器“ Carga Base Original”的AcquireConnection方法调用失败,错误代码为0xC0202009。在此之前可能会发布错误消息,并详细说明为什么AcquireConnection方法调用失败的原因。
错误2:
[SSIS.Pipeline]
错误:Excel Source验证失败,返回错误代码0xC020801C。
错误3:
[连接管理器“ Carga Base Original”]错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80004005。 OLE DB记录可用。
来源:“ Microsoft Access数据库引擎”
结果:0x80004005
说明:“外部表的格式不正确”。
我的连接管理器属性是一个Excel Source,其属性如下所示:
我正在通过变量传递Excel文件路径。 Excel文件看起来不错,并且没有损坏。我尝试放置一个固定的Excel路径,尝试将其放置在Connection String属性(固定路径和变量)中,但是这些都无济于事。
有人可以帮助我吗?
答案 0 :(得分:0)
我按照哈迪的话做了,然后用一个新名称再次保存了文件,
答案 1 :(得分:0)
主要错误是:
外部表的格式不正确
当Excel文件已损坏并且无法通过Access Database Engine(OLE DB提供程序)打开Excel文件时,即使您可以从Excel打开文件,也会发生这种情况。在类似的情况下,手动打开文件并将其另存为新文件可以解决问题。
答案 2 :(得分:0)
就我而言,将邮件合并的参考 Excel 文件另存为 .xls (Excel 97 - 2003) 有效。 .xlsx 引发了“外部表不是预期格式”错误消息,但 .xls 没有。