Solved - The Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine

 There are a number of reasons why you might get "The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine" error when attempting to connect to either an accdb or an xlsx file, depending on what you are doing. 

First, I will dispense with the most obvious reason for the error, and that is that the provider hasn't been registered on the machine on which the application is running. The ACE provider is not installed on Windows operating systems by default. You have to install it. The ACE provider is available in 2 forms:  Microsoft Access Database Engine 2010 Redistributable and the 2016 Distributable . You need to be careful which option you choose, because a wrong choice here is the most frequent cause for the error message.

ASP.NET Applications

If you get this error when trying to use ACE from an ASP.NET application, the most likely cause is that you have installed either one of the 32-bit versions. By default, IIS on a 64-bit operating system will run applications in a 64-bit worker process. 64-bit processes cannot load 32-bit DLLs. When a call is made to the ACE provider, the 64 bit process will attempt to locate a 64-bit DLL. If it doesn't exist, you get the error message that brought you here.

Click on Application Pools in the left pane, then select the application pool for the relevant site in the centre pane, and click Advanced Settings on the right:


Post a Comment