You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JDBC连接Access数据库提示“No Suitable Driver Found”问题求助

解决JDBC连接Access数据库提示“No suitable driver found”的问题

你遇到的问题根本不是路径空格导致的,核心原因是JDBC URL格式完全错误,不符合Access数据库JDBC驱动的要求。以下是具体解决步骤:

1. 选择正确的JDBC驱动并使用对应URL格式

Access数据库的JDBC驱动主要有两种,对应不同的URL规则:

方案一:使用UCanAccess驱动(推荐,支持Java 8+)

这是目前主流的Access JDBC驱动,不需要依赖系统ODBC配置,URL格式为:

jdbc:ucanaccess://你的Access文件路径

针对你的路径,正确的URL是:

String url = "jdbc:ucanaccess://C:/Users/Billy Bob Jones/Documents/My20Y1P2023.accdb";

路径里的空格不需要任何转义,直接保留即可。

方案二:使用JDBC-ODBC桥驱动(仅Java 8及以前可用)

Java 8之后官方已移除JDBC-ODBC桥,若你用的是Java 8,需要先在系统中配置ODBC数据源,或者直接用以下URL格式:

String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:/Users/Billy Bob Jones/Documents/My20Y1P2023.accdb";

注意:要确保系统安装了对应位数的Access ODBC驱动(32位/64位需和JVM一致)。

2. 确保驱动依赖已正确添加

  • UCanAccess驱动:需要引入以下JAR包到项目的classpath中:
    • ucanaccess.jar
    • jackcess.jar
    • commons-lang3.jar
    • commons-logging.jar
      解压UCanAccess官方压缩包后,将这些包直接添加到项目依赖即可。
  • JDBC-ODBC桥:Java 8及以前自带该驱动,无需额外下载,但需要系统有Access ODBC驱动支持。

3. 示例代码(UCanAccess版本)

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

public class Ex20_1_2023 {
    public static void main(String[] args) {
        String url = "jdbc:ucanaccess://C:/Users/Billy Bob Jones/Documents/My20Y1P2023.accdb";
        // Access数据库无用户名密码则传入空字符串
        try (Connection conn = DriverManager.getConnection(url, "", "")) {
            System.out.println("数据库连接成功");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

关键提醒

你之前使用的URLjdbc://C:/...完全不符合任何JDBC驱动的规范,这才是导致“No suitable driver found”的直接原因,和路径空格无关。只要按照上述步骤使用正确的URL格式,同时确保驱动依赖齐全,就能解决问题。

内容的提问来源于stack exchange,提问作者Sid Meka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 16:02:19