我试图使用jdbc和swings连接到访问数据库。然而, 我在“ODBC数据源控制”面板中找不到任何MS Access数据库驱动程序(* .mdb)。唯一可用的是SQL Server。读了一下后,我猜它发生了,因为我的操作系统是64位,我的MS Access是32位。
然后,我去了Windows / sysWOW64 / odbcad32.exe
在那里,我可以找到Microsoft Access数据库驱动程序。 我与数据库建立了适当的连接,名称为'avi'并再次运行。
我收到了这个错误
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(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Conn.updt(Conn.java:25)
Conn.java第24和25行:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:avi");
我仍然认为它有32-64位问题,但有没有转机?因为我对此并不熟悉,所以不需要很多专业知识。
答案 0 :(得分:1)
- 来自MSDN -
要管理连接到64位平台下的32位驱动程序的数据源,请使用c:\ windows \ sysWOW64 \ odbcad32.exe。要管理连接到64位驱动程序的数据源,请使用c:\ windows \ system32 \ odbcad32.exe。
如果您使用64位odbcad32.exe配置或删除连接到32位驱动程序的DSN,您将收到此消息。