0

我试图使用 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 位的问题,但有什么好转的吗?不需要很多专业知识的东西,因为我对此不太熟悉。

4

1 回答 1

1

--来自 MSDN --

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

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

于 2012-04-21T13:02:48.093 回答