【问题标题】:Problems connecting to an Access database from a Java application从 Java 应用程序连接到 Access 数据库的问题
【发布时间】:2017-08-25 14:36:13
【问题描述】:

我正在尝试使用来自 NetBeans IDE 8.2 的 UCanAccess 连接到现有的 Access 数据库,但我遇到了一个我无法弄清楚的错误...

这是此时的代码(pStrFile是现有Access文件的完整路径):

try {
        Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
        String database = "jdbc:ucanaccess:" + pStrFile;
        Connection conn = DriverManager.getConnection(database);
        conn.close();
    } catch (Exception ex) {
        ex.printStackTrace();
    }

这是我得到的堆栈跟踪...

java.lang.ClassNotFoundException: net.ucanaccess.jdbc.UcanaccessDriver
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at DevGSLibData01.DevGSLibData01.DoConnect(DevGSLibData01.java:28)
at DevGSLibData01.DevGSLibData01.main(DevGSLibData01.java:18)

我还在 UCanAccess 包中添加了所有必需的库:

【问题讨论】:

  • 您的代码看起来正确。尝试省略 class.forName 语句并使用 String database = "jdbc:ucanaccess://" + pStrFile;(注意 URL 前缀末尾的两个斜杠)。
  • 我实施了您建议的更改,但仍然出现错误... java.sql.SQLException: No suitable driver found for jdbc:ucanaccess://C:\MyWork\JavaDatabases05\TestDatabase.mdb在 java.sql.DriverManager.getConnection(DriverManager.java:689) 在 java.sql.DriverManager.getConnection(DriverManager.java:270) 在 DevGSLibData01.DevGSLibData01.DoConnect(DevGSLibData01.java:28) 在 DevGSLibData01.DevGSLibData01.main( DevGSLibData01.java:17)
  • 嗯,好的。尝试从项目的库中删除 ucanaccess-4.0.1.jar,然后重新添加。 (也许项目元数据以某种方式混淆了。)
  • 是的,我做到了,它奏效了......很棒的帮助!点对点!!!

标签: java ms-access jdbc netbeans ucanaccess


【解决方案1】:

尽管在 NetBeans 项目的库中列出,但在启动应用程序时在构建路径(类路径)中找不到“ucanaccess-4.0.1.jar”。从项目库中删除“ucanaccess-4.0.1.jar”并重新添加似乎已经解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 2014-07-08
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多