2
votes

getting The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine on my windows7 64-bit OS, when i'm running my VB.net project. I tried this link, but no luck.!!

Please help me. !!

3
You have changed your project's platform target to x86 haven't you?Phil
yes, i changed to x64 and x86, i did both, and then it creates two folder with the respective name. But, still showing the same erroruser918477

3 Answers

3
votes

You are trying to use a component that became obsolete ten years ago. There is no 64-bit version of the provider and there never will be, you'll need to force your application into running in 32-bit mode.

Right-click your EXE project, Properties, Compile tab, scroll down, Advanced Compile Options property. Change the Target CPU setting to "x86".

Forward looking solutions are the ACE provider, the replacement for JET. However currently not available in 64-bit either. SQL Server is the mainstream Microsoft solution, the Express and Compact editions are free. Plenty of 3rd party solutions like SqlLite or MySql. Whether any of them are applicable is unclear from the question, you didn't explain why you need to use such an old provider.

1
votes

There's no need to change the platform target to x86 - x64 ACE is available.

http://www.connectionstrings.com/Articles/Show/using-jet-in-64-bit-environments

1
votes

I'm running a web app on IIS 8 / Server 2012 (64 bit obviously).

Installed AccessDatabaseEngine_x64.exe from:

http://www.microsoft.com/en-us/download/details.aspx?id=13255

I needed to enable 32 bit applications in the App Pool advanced properties

enter image description here

The Jet driver itself is 32 bit only and included in the access database engine which has some other 64 bit components. But there's no such thing as a 64 bit Jet driver. So the _x64 is really a red herring (there must be some other Access related components that are 64 bit) and that's why you need to enable this setting.