64-bit Java can't access 32-bit MS Access database via ODBC

一曲冷凌霜 提交于 2019-12-06 00:02:27

问题


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:


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.



来源:https://stackoverflow.com/questions/12220914/64-bit-java-cant-access-32-bit-ms-access-database-via-odbc

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!