gpt4 book ai didi

java - 如何从 64 位 Java 连接到 Access .mdb 数据库?

转载 作者:行者123 更新时间:2023-12-01 04:46:47 25 4
gpt4 key购买 nike

您好,我有以下代码可以连接到 Windows 7 操作系统上的 MS Access 数据库。我已将数据源快捷方式更改为指向 64 位 odbc,然后指向 32 位。但仍然收到错误

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6956)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7113)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3072)
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:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at TestDBConnection.main(TestDBConnection.java:21)

我的代码是:

import java.sql.Connection;
import java.sql.DriverManager;

public class TestDBConnection {

public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
System.out.println("filename");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String database =
"jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\\Test\\Tests.mdb";
Connection conn = DriverManager.getConnection(database, "", "");
} catch(Exception ex) {
ex.printStackTrace();
}
}

}

我如何拥有 SQL Workbench 工具,通过它我可以连接到它而不是通过 java 代码。

过去 3 小时在 Google 上搜索时,我一直在努力解决这个问题,因此非常需要帮助。

最佳答案

如果您的 Java 应用程序在 64 位 Java 虚拟机 (JVM) 中运行,则 DRIVER={Microsoft Access Driver (*.mdb)} 将无法工作,因为没有 64位版本的 Jet 数据库引擎。你可以……

  • here 下载并安装 64 位版本的 Microsoft Access 数据库引擎,然后在您的代码中使用 DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}

……或者……

  • 在 32 位 JVM 中运行您的 Java 应用程序并继续使用现有的 DRIVER= 字符串。相关回答here如果您选择此选项,可能会有所帮助。

……或者……

  • 使用UCanAccess Access 数据库的 JDBC 驱动程序。它是免费的、开源的、纯 Java 实现,因此它适用于 32 位和 64 位系统,包括 Windows 和非 Windows。它还适用于 Java 8(它放弃了 JDBC-ODBC 桥)。有关详细信息,请参阅:

Manipulating an Access database from Java without ODBC

关于java - 如何从 64 位 Java 连接到 Access .mdb 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19334723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com