Przez lata w systemach 32-bitowych nigdy nie miałem problemu. Dlaczego nie mogę używać 64-bitowego sterownika Java ODBC z bazą danych Access w systemie Windows Server 2008? Czy sterownik ODBC jest zapisany w 64-bitowym systemie w 32-bitowym kodzie? Tutaj jest błąd widzę, stosując 64-bitową JDK1.6.018:Jak używać 64-bitowego sterownika Java ODBC z bazą danych Access w systemie 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)
.....
Podejrzewam, że kierowca Dostęp jest 32-bitowy, ponieważ nie pojawiają się w panelu sterowania ODBC 64-bitowej dla Windows . Tylko dwa 64-bitowe sterowniki (dla SQL Server) są widoczne na karcie "Sterowniki" w panelu sterowania ODBC.
Co mogę zrobić? Wolałbym nie używać programu SQL Server i sterownika JDBC typu 4 (ale to byłby mój ostateczny wybór).
Wierzę, że jest problem z uruchomieniem 32-bitowego JDK na maszynie 64-bitowej. podejrzewam, że ma to coś wspólnego z tym, w jaki sposób JVM używa .dlls do zarządzania pamięcią (RAM). miałem problemy, kiedy próbowałem, i dlatego używam 64-bitowego jdk. – djangofan
@djangofan, ograniczenie będzie dotyczyło ilości pamięci używanej przez JVM. Oczywiście, jeśli pojawią się subtelne problemy, niekoniecznie wiem. – Yishai
tak, prawdopodobnie prawda. Myślałem, że to samo myśl, że zrobiłeś, najpierw ... – djangofan