The ‘Microsoft.Jet.OLEDB.4.0’ provider is not registered on the local machine

For example, you have a 32-bit application (VBA, web app...) that uses the Microsoft OLE DB Provider for Jet. If you migrate the application to run in the 64-bit mode, the application can not connect to the data source by using the Microsoft OLE DB Provider for Jet, you can get this error: 

The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.

This issue occurs because the application requires a 64-bit version of the Microsoft OLE DB Provider for Jet.

How to resolve this issue

  • Run the program in WoW64 mode (emulates 32-bit on 64-bit systems). This will make the 32-bit drivers work.
  • If the application is an web app hosted on IIS 7 you can choose to configure the web sites application pool to run in 32-bit mode.
    • Download the Microsoft Access Database Engine 2010 Redistributable, which will be provided in both 32-bit and 64-bit versions. You can use these drivers to let your application connect to Access, Excel and text files in a 64-bit environment utilizing the new 64-bit drivers.
    • in your application, update the connection string from “Provider=Microsoft.Jet.OLEDB.4.0;” to “Provider=Microsoft.ACE.OLEDB.12.0;

It is possible to open Excel, Access and text files on 64-bit systems. You can either configure your app to go 32-bit or you can change your application to use the new 64-bit drivers.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *