【问题标题】:"Microsoft Access database Engine" Hresult: 0X80004005 Description: "External Table is not in expected Format."“Microsoft Access 数据库引擎”Hresult:0X80004005 描述:“外部表不是预期的格式。”
【发布时间】:2017-03-03 11:52:27
【问题描述】:

我在尝试使用 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。

【问题讨论】:

    标签: sql-server excel ssis


    【解决方案1】:

    假设您已完成所有准备工作,包括安装Microsoft Access 2010 Runtime

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

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

    【讨论】:

    • 还是一样的错误,“External table is not in Expected format”,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    • 2010-11-11
    • 2014-02-18
    • 2016-07-04
    • 1970-01-01
    • 2012-06-23
    相关资源
    最近更新 更多