Per anni, su sistemi a 32 bit non ho mai avuto un problema. Perché non è possibile utilizzare il driver ODBC Java a 64 bit con un database di Access su Windows Server 2008? Il driver ODBC è su un sistema a 64 bit scritto con codice a 32 bit o qualcosa del genere? Qui è l'errore che vedo, con un 64 bit JDK1.6.018:Come utilizzare il driver ODBC Java 64-bit con un database Access su 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)
.....
ho il sospetto che il driver di accesso è a 32 bit, perché non compare nel pannello di controllo ODBC a 64 bit per Windows . Solo due driver a 64 bit (per SQL Server) sono visibili nella scheda "Driver" del pannello di controllo ODBC.
Quindi, cosa posso fare? Preferirei non dover utilizzare SQL Server e il driver JDBC Type-4 (ma sarebbe la mia ultima risorsa).
credo che ci sia un problema nell'esecuzione del JDK a 32 bit su un computer a 64 bit. Sospetto che abbia qualcosa a che fare con il modo in cui la JVM usa .dlls per gestire la gestione della memoria (RAM). ho avuto problemi, quando ho provato, ed è per questo che sto usando il jdk a 64 bit. – djangofan
@djangofan, la limitazione sarà in quanta memoria può usare la JVM. Certo, se ci sono problemi sottili, non lo saprei necessariamente. – Yishai
sì, probabilmente vero. Ho pensato che lo stesso pensassi, all'inizio ... – djangofan