连接到Access数据库时出现JDBC SQL错误

时间:2012-04-21 12:27:40

标签: jdbc

我试图使用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位问题,但有没有转机?因为我对此并不熟悉,所以不需要很多专业知识。

1 个答案:

答案 0 :(得分:1)

- 来自MSDN -

要管理连接到64位平台下的32位驱动程序的数据源,请使用c:\​​ windows \ sysWOW64 \ odbcad32.exe。要管理连接到64位驱动程序的数据源,请使用c:\​​ windows \ system32 \ odbcad32.exe。

如果您使用64位odbcad32.exe配置或删除连接到32位驱动程序的DSN,您将收到此消息。