parametros ejemplo descargar consultas conexion conectar con java ms-access 64bit

descargar - jdbc java ejemplo



¿Cómo uso el controlador ODBC Java de 64 bits con una base de datos Access en Windows 2008? (6)

Durante años, en sistemas de 32 bits nunca tuve un problema. ¿Por qué no puedo usar un controlador ODBC Java de 64 bits con una base de datos de Access en Windows Server 2008? ¿Está el controlador ODBC en un sistema de 64 bits escrito en código de 32 bits o algo así? Aquí está el error que veo, usando un JDK1.6.018 de 64 bits:

java.sql.SQLException: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957) at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114) at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073) at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323) at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) .....

Sospecho que el controlador de acceso es de 32 bits porque no aparece en el panel de control de ODBC de 64 bits para Windows. Solo dos controladores de 64 bits (para SQL Server) están visibles en la pestaña "Controladores" del panel de control de ODBC.

¿Entonces Que puedo hacer? Preferiría no tener que usar SQL Server y el controlador JDBC Type-4 (pero ese sería mi último recurso).


¿Has intentado ejecutar el administrador ODBC de 32 bits de Windows 2008 para ver si eso te ayuda a diagnosticar el problema?

La versión de 32 bits del archivo Odbcad32.exe se encuentra en la carpeta% systemdrive% WindowsSysWoW64


En mi caso, tenía un JDK 6u45 de 32 bits en un XP que usaba el controlador jdbc: odbc para consultar un archivo .accdb . Así que tenía un JDK de 32 bits y también un MS Office de 32 bits que instalaba automáticamente el controlador necesario en mi computadora cuando lo instalé. Luego moví el proyecto a un Windows 7 con un Netbeans 7.3 con un JDK 6u45 de 32 bits PERO un MS Office 2013 de 64 bits, así que ese parece ser el problema. Si tiene un JDK de 32 bits instalado, entonces necesita una versión de 32 bits de Office (con el controlador apropiado que viene con esa versión de Office). Y lo mismo con la versión de 64 bits.

En mi caso busqué el archivo Java de Oracle para la versión de 64 bits de JDK6u45 y cambié el JDK del proyecto a la versión de 64 bits .


Microsoft Access en Office 2010 tendrá una versión de 64 bits. Las versiones anteriores de Microsoft Office son solo de 32 bits.

El uso de SQLExpress es lo suficientemente gratuito y fácil de usar, y Access y Java se pueden conectar a él, por lo que parece una buena opción.

Como dijo que era el último recurso, la otra opción es ejecutar el JDK de 32 bits, que debería funcionar bien en Server 2008.


Si usa Microsoft Office 2010, que volverá a la arquitectura de 64 bits. Por lo tanto, eliminará este error relacionado con la incompatibilidad de arquitectura entre el controlador y la aplicación.


Tuve el mismo problema La causa fue que estaba usando DSN ODBC de 64 bits con un JDK de 32 bits. Estos deberían ser de la misma arquitectura (tanto ODBC DSN como JDK deben ser de 64 bits o 32 bits). Si registra ODBC DSN en 32 bits y llama desde una aplicación de 64 bits (JVM de 64 bits), se obtendría un error que indica que no se encuentra el origen DSN (Entonces, para que la aplicación vea el origen ODBC, la JVM está ejecutando la aplicación debe ser de la misma arquitectura que ODBS DSN: ambos deben ser de 64 bits o ambos de 32 bits). Espero que esto ayude.


Tuve el mismo problema y la solución, en mi caso, fue usar un JDK de 32 bits.