Microsoft ACE OLEDB提供程序抛出无法找到可安装的ISAM异常

Mic*_*oll 10 oledb excel ms-jet-ace

我正在尝试使用64位进程读取Excel电子表格.因此,我使用64位版本的Micorosft Access数据库引擎2010.

以下代码

var cs = @"Provider=Microsoft.ACE.OLEDB.12.0;"
         + @"Data Source=C:\test.xls;"
         + @"Extended Properties=""Excel 14.0;""");

con = new OleDbConnection(cs);
con.Open();
Run Code Online (Sandbox Code Playgroud)

抛出异常:

找不到可安装的ISAM

使用谷歌我发现了很多关于这个例外的问题.但他们提到JET并且似乎不适用于我的问题.

有什么建议?

Pol*_*oli 1

我今天遇到了同样的问题。我的配置是:

  • 读取 XLSX 文件的 x64 .NET 2.0 桌面应用程序。
  • x64 版本的 Microsoft Access 数据库引擎 2010 可再发行组件
  • 正如组件文档所示,的连接字符串包含值为“Excel 14.0;”的扩展属性属性。

我遇到了与您完全相同的问题:无法找到可安装的 ISAM 异常。我在看到这篇文章后解决了这个问题,该文章指出 MS 网站的组件文档存在一个错误。我不确定该组件的文档是否不准确,我可以说的是,将扩展属性更改为Excel 12.0 Xml解决了问题。