StrataFrame Forum

Access 2007 & x64 Connections

http://forum.strataframe.net/Topic15108.aspx

By Crones - 3/22/2008

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.
By StrataFrame Team - 3/24/2008

That's very good to know about the 32-bit version of the Access connector.  Thanks.

We ran into the same issues with the VFPOLEDB driver as well.  However, since it runs several pieces through separate processes, we haven't been able to use VFPOLEDB at all on a 64-bit machine.

By Guillermo Vilas - 5/19/2008

The steps for solving the issue applies to Windows XP Professional X64 too. Wink