2012-08-31 13 views
7

Tengo una nueva computadora portátil de 64 bits y he instalado STS de 64 bits y Java de 64 bits. Estoy tratando de crear una conexión ODBC a una base de datos de 32 bits de Microsoft; sin embargo, las herramientas de administración predeterminadas no proporcionan un controlador para el acceso. Después de buscar en Google, vi que hay una herramienta de administración para crear controladores de 32 bits ubicados en C: \ Windows \ SysWOW64 \ odbcad32.exe. Sin embargo, una conexión ODBC creada a partir de eso me da un mensaje de error que indica una incompatibilidad de arquitectura cuando ejecuto el programa:Java de 64 bits no puede acceder a la base de datos MS Access de 32 bits a través de ODBC

"[Microsoft] [ODBC Driver Manager] El DSN especificado contiene una arquitectura no coincidente entre el controlador y la aplicación"

Creo que es porque la versión de 64 bits de Java está tratando de usar el controlador de 32 bits. Para evitar el problema, traté de poner el argumento "-D32" en los argumentos de VM, pero obtuve el mismo resultado.

Estoy pensando en desinstalar STS y Java y reemplazarlos con las versiones de 32 bits. ¿Hay una mejor solución?

+0

Hay un controlador gratuito de 64 bits para MS Access, ¿sería ese el palo? http://www.microsoft.com/en-us/download/details.aspx?id=13255 – Fionnuala

+0

Acabo de leerlo, pero los usuarios dicen que es defectuoso. –

+0

¿Qué usuarios? Tiene dos años en esta etapa y la versión 2013 está en camino. Me imagino que cualquier comentario sobre buggy-ness es del pasado. – Fionnuala

Respuesta

3

Para cargar una biblioteca nativa de 32 bits, necesita tener una JVM de 32 bits.

No necesita desinstalar Java, puede tener tantas versiones instaladas como desee.

Puede usar su JVM de 64 bits para hablar con una JVM de 32 bits que carga el controlador, pero esto puede ser más complicado de lo que necesita.

+0

Comprobaré si puedo ejecutar el jvm de 32 bits desde el STS de 64 bits ... –

+1

Como sospechaba , al final acabo de instalar la versión de 32 bits de STS y Java y ahora funciona. Intenté cambiar STS.ini en la versión de 64 bits para apuntar al JDK de 32 bits, pero no funcionó. –

+0

@PeterLawrey: Nunca entendí esto. Puede usar un dll de 32 bits en una PC de 64 bits pero no puede usarlo con una JVM de 64 bits. Pero, ¿cómo es posible? – Cratylus

Cuestiones relacionadas