Group: Forum Members
Posts: 35,
Visits: 345
|
Just an FYI...
Developing on Vista x64 and trying to establish a connection to an Access 2007 database generated this error:
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
Access 2007 Connection String:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Jet OLEDB:database Password=MyDbPassword;
The Access 2007 Database Engine currently only has 32-bit support.
For a .NET assembly built for "Any CPU" (the default platform setting in
build configuration), when it's run on x64 system, the JIT compiler will
compile it as 64-bit process; and we cannot load the 32-bit provider
(driver) in a 64-bit process.
The workaround is that you have to compile your assembly as a 32-bit
process specificially:
1) in VS2005, menu "Build/Configuration Manager"
2) in the "Configuration Manager" dialog, select ""
3) in the "New Solution Platform" dialog, select "x86", press OK
Also, there does not appear any plans to create a x64bit version.
|