7
votes

I've got a new 64-bit laptop and have installed STS 64-bit and Java 64-bit. I'm trying to create an ODBC connection to a 32-bi Microsoft database; however the default Admin tools don't provide a driver for access. After googling around, I saw that there's an admin tool for creating 32-bit drivers located in C:\Windows\SysWOW64\odbcad32.exe. However, an ODBC connection created from that that gives me an error message indicating an architecture mismatch when I run the program:

"[Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application"

I think it's because the 64-bit Java is trying to use the 32-bit driver. To get around the problem, I tried to put the argument "-D32" in the VM arguments, but got the same result.

I'm thinking of uninstalling STS and Java and replacing them with the 32 bit versions. Is there a better solution?

1
There is a free 64 bit driver for MS Access, would that suit? microsoft.com/en-us/download/details.aspx?id=13255Fionnuala
I just read up on it, but the users are saying it's buggy.Jack BeNimble
Which users? It is two years old at this stage and and the 2013 version is on the way. I would imagine that any comments on buggy-ness are from the past.Fionnuala
The link you provide says it's for exchanging data for office 2010 apps, but I'm running 2007. It also says it's a distribution of the Jet engine - I'm not sure what impact that would have on my existing Access install.Jack BeNimble
@Remou Wrong suggestion - that 64 bits drivers could be installed ONLY if Office 64 bit is previously installed on the systemNenad Bulatovic

1 Answers

3
votes

To load a 32-bit native library you need to have a 32-bit JVM.

You don't need to uninstall Java, you can have as many version installed as you like.

You can use your 64-bit JVM to talk to a 32-bit JVM which loads your driver, but this may be more complicated than you need.