Durante años, en sistemas de 32 bits nunca he tenido 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, utilizando una de 64 bits JDK1.6.018:¿Cómo uso el controlador ODBC Java de 64 bits con una base de datos de Access en Windows 2008?
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, ya que 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, ¿qué puedo hacer? Preferiría no tener que usar SQL Server y el controlador JDBC Type-4 (pero ese sería mi último recurso).
Creo que hay un problema al ejecutar el JDK de 32 bits en una máquina de 64 bits. Sospecho que tiene algo que ver con la forma en que JVM usa .dlls para manejar la administración de memoria (RAM). Tuve problemas, cuando lo intenté, y por eso estoy usando el jdk de 64 bits. – djangofan
@djangofan, la limitación estará en la cantidad de memoria que la JVM puede usar. Por supuesto, si hay problemas sutiles, no necesariamente sabría. – Yishai
sí, probablemente sea cierto. Pensé lo mismo que pensé, al principio ... – djangofan