Getting error “The ‘Microsoft.ACE.OLEDB.12.0’ provider is not registered on the local machine”

While I was trying to connect to an Access Database from Visual Studio 2010 on my Windows 7 x64 server, I got the following error message,



After a detailed research on the above error message, I was able to identify that the 64-bit framework dlls weren’t able to 32-bit versions of the ‘Microsoft.ACE.OLEDB.12.0‘ provider modules.

Since I was running Visual Studio on a 64-bit machine, IIS 7 is not (by default) serving 32-bit applications. However, I noticed that the database engine operated on 32-bit. I followed these steps to fix the issue:

  1. Open the IIS 7.5 manager and select the application pool corresponding to your web application.
  2. Right click the application pool and select ‘Advanced settings’.
  3. Select the field ‘Enable 32-bit applications’ and change it to ‘true’.
  4. Restart your application pool and access your application to fix the error you saw.

Happy debugging!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.