问题
I have installed Microsoft Access Database Engine 2010 Redistributable http://www.microsoft.com/en-us/download/details.aspx?id=13255 on the Windows 2008 server. However, when I ran my web application to import a spreadsheet table to the database. It complains with the error message - "Microsoft.ACE.OLEDB.12.0 is not registered in the local machine."
I have tested my code and works in my Windows 7 local machine. Any idea?
回答1:
There is a problem with Microsoft.ACE.OLEDB.12 when AccessDatabaseEngine x86 or x64 2010 is installed.
I have long attempted to use the SSMS (2005-2008-2008R2-2012) Export Wizards to export large tables onto Excel and I needed the AccessDatabaseEngine installed to be able to do that.
However, regardless of the MS Office version (2010, x86 or x64, or whatever it is), the 2010 version of AccessDatabaseEngine will not work towards registering the provider.
The solution is to download and install the previous one which is none other than the 2007 x86 one. This one will work even if Office or SQL Server or VS are x64.
Download it from here http://www.microsoft.com/en-us/download/confirmation.aspx?id=23734
Now, any other propagated issues revolving around the notorious failure to register "the provider" on the local machine for the Microsoft.ACE.OLEDB.12 should be resolved by the above.
Feel free to paste me your experiences on this matter.
来源:https://stackoverflow.com/questions/13042855/microsoft-ace-oledb-12-0-is-not-registered-in-the-local-machine