我得到以下异常
'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
虽然我已经安装
'Microsoft.ACE.OLEDB.12.0'
- 在我的本地开发机器中,我也有 office 2010
怎么了?
如果您的系统是 64 位,那么您必须更改池设置以允许 OLEDB 的 32 位应用程序。,那么这个链接可能会有所帮助。
参考帖子,说明您需要先安装办公驱动程序
这个问题我找了很久,终于找到了。
我的系统: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;” 连接字符串
您的项目配置设置可能有问题。如果设置为 Any CPU,则无法正常工作。您应该指定 x86 或 x64 配置(取决于安装的 OLE 提供程序版本。详细说明here
将数据库转换为 .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"/>
这是这个问题的最佳解决方案。