Access database engine for 64-bits

Anonymous
2011-05-02T16:23:57+00:00

We have an application that makes use of OLEDB and the Jet engine Microsoft.Jet.OLEDB.4.0. We are converting our application to also run in 64-bit mode. However, the database engine is no longer a standard part of 64-bit Windows. But Office 2010 64-bit does install a 64-bit access database engine (See http://www.microsoft.com/downloads/en/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=en) so you can use Microsoft.ACE.OLEDB.12.0.

So I am working on fixing issues so that our application runs in 64-bit mode as well. But the OLEDB code complains about the database engine not being registered. So I try to install the redistributable 64-bit engine on the above link. But it tells me I need to uninstall 32-bit Office 2007 first. No way am I going to do that, because I am sure some settings etc. will be lost.

So my questions are:

How is that the 32-bit database access components do not work in 64-bit mode, but you cant install the 64-bit one if the 32-bit is installed already? Does that make any sense to anyone at all?!

I realize Microsoft wants people to switch to SQL server Express, except it is too invasive, does install reliably even on clean new Windows 7 computers, and it is not simple to copy or move the data around between different machines. Is there a suitable alternative to Jet then? Something that is simple but works on 32 and 64 bit and ideally has OLEDB support? SQLite looks promising but the database we create and use also has to accessible via VBA, VBScript and .NET etc.

Microsoft 365 and Office | Access | For home | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments
{count} votes
Answer accepted by question author
  1. Anonymous
    2011-05-02T16:53:46+00:00

    Hi Ben,

    If your application is compiled as a 64 bit application, it will not have visibility into the 32 bit drivers (including Jet 32 bit and Ace 32 bit) on the machine.  In order to use these components, you would need to compile your application as an x86 app.

    If you are planning on using the 64 bit version of Ace, then you first will need to ensure you are using it in a supported scenario since Ace is not a general replacement for Jet.  The link you posted lists the supported scenarios for Ace (http://www.microsoft.com/downloads/en/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=en).  If you are able to use Ace in your scenario, then you will also need to ensure you have either 32 bit Office or 64 bit Office installed.  Unfortunately, you can’t install the 64 bit version of Office or Ace (which is an Office component) onto a machine that has a 32 bit version of Office installed. It has to be one or the other.

    2269468          You receive the error "You cannot install the 64-bit version of Office 2010 because you have 32-bit Office products installed."

    http://support.microsoft.com/default.aspx?scid=kb;en-US;2269468

    If Ace is not supported in your scenario, then depending on the types of files you are connecting to, you may be able to use Open XML to read and write data from the new Excel file format (xlsx) or SQL Server Express.

    Best Regards,

    Nathan Ost

    Microsoft Online Community Support

    7 people found this answer helpful.
    0 comments No comments
Answer accepted by question author
  1. Anonymous
    2011-05-02T18:49:20+00:00

    Hi Ben,

    The reason you have to uninstall the 32 bit engine and / or 32 bit Office is because you can’t have 32 bit Office products and components installed with 64 bit Office products and components.  As mentioned, Jet is being deprecated but it is still included with Windows, it is just found in the SysWow64 folder on 64 bit machines and is still only a 32 bit component.

    A big misunderstanding that people have is Ace is not a replacement for Jet and is not intended to be used in the same way as Jet.  It just so happens that there is a 64 bit Ace driver and people are using this driver as a replacement for Jet in order to create 64 bit applications and are running into issues when doing so.  That is why I said you first will need to ensure you are using Ace in a supported way.  If you’re not, then you will either need to continue to use Jet or one of the other workarounds I mentioned in my last post.

    Best Regards,

    Nathan Ost

    Microsoft Online Community Support

    6 people found this answer helpful.
    0 comments No comments

6 additional answers

Sort by: Most helpful
  1. Anonymous
    2011-05-02T17:32:32+00:00

    I appreciate all of that. Our 32-bit application works fine. But we know that some clients will want to use a 64-bit version of our application, which when used in certain ways interacts heavily with databases and Excel.

    Ideally people should be able to use either the 32-bit or 64-bit version of our software without any issues. Ideally. It does seem as if COM hides some of the 32 versus 64-bit differences and allows one to use components from the other if marshalling is supported. I have yet to see how well that works.

    We can not list Microsoft Office as a requirement for our software, since not all clients use the functionality that interact with Office and some South American countries for example avoid Office. And since ACE only comes with Office 2010 and Jet is no more in 64-bit Windows, I guess it means we have to stop using, or at least requiring, Jet? And SQL Server Express is just too much to require.

    It is really too bad that Microsoft did not just put the Jet engine in 64-bit Windows. It seems that whenever we use Microsoft technology, they do this to us (they did the same Media Encoder COM components which were removed, we had some VB6 code which does not migrate well, etc.)

    0 comments No comments
  2. Deleted

    This answer has been deleted due to a violation of our Code of Conduct. The answer was manually reported or identified through automated detection before action was taken. Please refer to our Code of Conduct for more information.


    Comments have been turned off. Learn more

  3. Anonymous
    2011-05-02T18:05:38+00:00

    That would be a perfect solution. Except for the cases where someone has say Office 2003 or 2007 which is only 32-bit and wants to run our software in 64-bit mode.

    Why you cant use the 32-bit engine in 64-bit mode, yet have to uninstall the 32-bit one to install the 64-bit engine is beyond me.

    0 comments No comments