Click here to Skip to main content
15,886,199 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Good day, hope all is well?

I designed a program with VB.NET 2010 and MS Access 2007. The program executed well on the computer I used to design it which is a 32bit computer. When i deploy the same program on a 64bit computer, it will execute but when I am connecting to the database, an error will be encountered.

I set the target of the program to all CPU, I have also installed 32 bit and 64 bit Access Database engine on the 64bit computer, but am still getting the same error.

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

Please, help needed.
Posted

You can't.

There is no 64 bit compatible version of the Jet database engine, only a 32 bit version, and there is very unlikely ever to be one.

Either build your app for 32 bit targets, or use the ACE engine instead.
 
Share this answer
 
Comments
Jonathan [Darka] 28-Mar-13 11:42am    
Agree with OriginalGriff, no chance ever of a 64-bit version of JET, either go 32-bit or find another technology to use.
tarhex 28-Mar-13 11:49am    
Ok, what do you suggest I do because there is a possibility that the program might be deployed in a 64 bit computer.
OriginalGriff 28-Mar-13 11:52am    
You have three choices:
1) Compile your app for 32 bit only, rather than the default "Any CPU"
2) Switch to the ACE database engine, which has 32 and 64 bit versions
3) Switch to a different database system altogether - perhaps SQL server?
Jonathan [Darka] 28-Mar-13 11:51am    
You can still run 32-bit apps on a 64-bit computer, just compile it as a 32-bit app and it should work fine, what you want to avoid is compiling it as a 64-bit app
tarhex 28-Mar-13 12:13pm    
If I compile for 32 bit only, will the error be avoided?

Can I use the ACE database engine with my current database (MS Access 2007)?

Is the ACE not a kind of a connection string?
OriginalGriff's answer is very good and i would suggest you to read this additional information: http://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/1d5c04c7-157f-4955-a14b-41d912d50a64/[^].

How to create connection string[^]?
 
Share this answer
 
Comments
tarhex 28-Mar-13 12:58pm    
@Maciej Los those are the files i downloaded and here is my connection string

Dim cnxn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath & "\data\dbase.accd" + " ;Jet OLEDB:Database Password=mend;")

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