microsoft.ace.oledb.12.0 provider is not registered on the local machine

Sorry, I really don’t post this stuff enough and it’s probably helpful to the few people who run into these weird issues. Working for a web host, I run into weird issues all the time. We deal with a plethora of different customers using different technologies, software, applications, configurations, etc. Here’s something a customer just ran into, and fortunately resolved themselves.

They are using an Excel ODBC driver on Windows 2008 R2 x64 to import some data into MSSQL 2008 R2. When trying this through their site in IIS 7 they got the following error.

microsoft.ace.oledb.12.0 provider is not registered on the local machine

The fix is simple, just set your application pool to allow 32bit applications. If you don’t, only x64 DLL’s will run. To do this, open IIS, navigate to application pools, right click on the one for your site in IIS, and then click on advanced settings. Change “Enable 32-bit Applications” to true and click ok. For good measure, stop the application pool and let it sit for 30 seconds, then start it back up.


 Add your comment
  1. Hi,

    But changing this setting changes the settings of all the app pools and the app pool stops running. THe page shows “Service Unavailable”. Even if the app pool is started again, it stops running. PLease help.

  2. and sorry, make sure you select the individual application pools in IIS

  3. Thanks a lot its worked

  4. I tried many things including installing Microsoft Access Database Engine many times. After I used your suggestion it worked. Thnx!!

Leave a Comment

Your email address will not be published.

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

2 Trackbacks

  1. giant twist comfort cs (Trackback)
  2. E-bike (Trackback)