1

我得到以下异常

'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine

虽然我已经安装

'Microsoft.ACE.OLEDB.12.0' 
  • 在我的本地开发机器中,我也有 office 2010

怎么了?

4

6 回答 6

13

如果您的系统是 64 位,那么您必须更改池设置以允许 OLEDB 的 32 位应用程序。,那么这个链接可能会有所帮助。

http://help.webcontrolcenter.com/KB/a1114/how-to-enable-32-bit-application-pool-iis-7-dedicatedvps.aspx

于 2013-12-05T06:33:34.400 回答
1

这个问题我找了很久,终于找到了。

我的系统:IIS(版本 7.5.7600.16385)在 64 位上运行。

首先你必须安装“AccessDatabaseEngine”你可以在下面找到exe

http://www.microsoft.com/en-us/download/details.aspx?id=13255

将其安装到服务器后,您还必须做一件事。

转到您的应用程序池并将“托管管道模式”更改为经典。

而已!!

现在您可以使用“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[SOURCE];Extended Properties=Excel 12.0;” 连接字符串

于 2014-03-04T07:38:08.343 回答
0

您的项目配置设置可能有问题。如果设置为 Any CPU,则无法正常工作。您应该指定 x86 或 x64 配置(取决于安装的 OLE 提供程序版本。详细说明here

于 2014-07-24T15:29:40.320 回答
0

将数据库转换为 .mdb。要将 .accdb 文件转换为 .mdb,请检查此链接convert and change connection string like this

<add name="ConnectionString4" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:/HostingSpaces/persistanceplus/doaminname.com/wwwroot/Database3.mdb"/>

这是这个问题的最佳解决方案。

于 2014-05-02T12:22:49.160 回答
0

右键单击项目并选择最底部的选项即属性,然后在构建选项卡中取消选中“首选32位”

在此处输入图像描述

谢谢和问候, Rk_Hirpara

于 2016-06-07T13:24:50.453 回答