我正在读取一个excel文件,我想访问它的内容。我正在使用这个连接字符串:
connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties=Excel 12.0;", Server.MapPath(fileName));
但我看到了这个错误:
"Microsoft.ACE.OLEDB.12.0"提供程序未在本地上注册机器
我的服务器运行在64位操作系统上。我已经在上面安装了Microsoft Office Professional Plus 2010(32位)和Microsoft Access数据库引擎2010
问题出在哪里?
如果以下链接解决了您遇到的问题,请查看:
http://www.mikesdotnetting.com/article/280/solved-the-microsoft-ace-oledb-12-0-provider-is-not-registered-on-the-local-mac
http://www.codeproject.com/Tips/417397/OLEDB-Provider-is-Not-Registered-on-the-Local-Mach
https://social.msdn.microsoft.com/Forums/en-US/f11b2df9-fd0a-4528-987f-f95dfdccee0a/microsoftaceoledb120-provider-is-not-registered-on-the-local-machine-error?forum=adodotnetdataproviders
最后一个建议从-下载补丁http://www.microsoft.com/en-us/download/details.aspx?id=13255
原因是ACE.OLEDB.12.0无法在64位操作系统中工作。
你也可以参考这个论坛。你必须从这里下载补丁。