" Microsoft Access数据库引擎" Hresult:0X80004005描述:"外部表格不是预期的格式。"

时间:2017-03-03 11:52:27

标签: sql-server excel ssis

我在使用SSIS 2014尝试使用.xlsx文件将数据加载到表中时出现问题, 之前我能够在收到.xls版本的文件时加载数据,但是现在我最近收到了.xlsx文件中的文件(我知道他们正在生成OFFICE 16的文件)。 我测试过的所有场景:

1.手动打开文件并保存/另存为并加载表格 - 它正在运行,但不建议每天使用,因为我需要自动化。

2.在DFT中我使用此连接字符串是Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\a.xlsx;Extended Properties=Excel 12.0;HDR=Yes;IMEX=1;    - 它还没有工作

3.使用C#代码(脚本任务)打开Excel文件,我已经尝试了上述连接以及其他一些版本,比如我在上面提到的连接字符串中更改扩展版本:

  • Extended Properties=Excel 12.0;
  • Extended Properties=Excel 12.0 xml;
  • Extended Properties=HTML import;

    然后我收到了一个错误

  

无法找到可安装的ISAM。

不明白这是什么错误!!

4.我在记事本中打开了.xlsx文件,当我打开文件并按下保存按钮时,我注意到"xl/workbook.xml"已更改为"[Content_Types].xml"。那么文件就可以访问了。 - 没有明确这种情况。

PS:我在Windows Server 2012中使用SQL Server 2014和SSIS 2014。

1 个答案:

答案 0 :(得分:0)

假设您已完成所有准备工作,包括安装Plunker

尝试使用DFT中的以下连接字符串(添加双引号作为Xml关键字):

Provider=Microsoft.ACE.OLEDB.12.0;Data Source="C:\Users\a.xlsx";Extended Properties="Excel 12.0 Xml;HDR=Yes;IMEX=1";