Click here to Skip to main content
16,017,638 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello,
I used this connection string in vb.net for Access 2013
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=xx/xx.accdb; Jet OLEDB:Database Password= xx;

then after used Access 2016 it doesn't work
which connection string should I use?
Thanks,

What I have tried:

several things but doesn't work
Posted
Updated 28-May-19 22:46pm
Comments
Richard MacCutchan 29-May-19 4:39am    
What does "doesn't work" mean?
Eman Ayad 30-May-19 3:03am    
this error message
An unhandled exception of type 'System.InvalidOperationException' occurred in System.Data.dll
Additional information: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
Richard MacCutchan 30-May-19 3:23am    
"The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine."
So you need to install it. Go to Download Microsoft Access Database Engine 2016 Redistributable from Official Microsoft Download Center[^] for the download.
Eman Ayad 30-May-19 5:52am    
I've already installed but with the same error message
Richard MacCutchan 30-May-19 7:14am    
It may be a 32bit vs 64bit issue.

1 solution

The JET engine was only available for 32 bit apps, never for 64 bit.
The chances are that you have installed the 64 bit version of Access 2016, and that can't be used with JET at all.

Seriously, I'd strongly recommend you scrap JET and move to ACE which supports both 32 and 64 bit engines and code.
 
Share this answer
 
Comments
Eman Ayad 30-May-19 2:19am    
Thanks, how can I move to ACE?
OriginalGriff 30-May-19 2:41am    
Install the ACE engine:
https://datasavvy.me/2017/07/20/installing-the-microsoft-ace-oledb-12-0-provider-for-both-64-bit-and-32-bit-processing/
And change your connection string to match.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900