java - 将 Java 8 与 Access 连接时出错 : No suitable driver found

标签 java database ms-access-2007 ucanaccess

我想将 Java 8 与 Access 连接,但出现以下错误,我不知道如何修复它。我总是收到此错误:

java.sql.SQLException: No suitable driver found for jdbc:ucanaccess://C:/Users/Ghazi/workspace/java w access/login.accdb

我添加了 4 个库:

  • hsqldb.jar
  • jackcess-2.0.7.jar
  • org.apache.commons.lang-2.6-source.jar
  • org.apache.commons.loggin-1.1.1-source.jar

这是我的代码

import java.sql.*;
public class DbConnection {
    Connection con;
    Statement st;
    DbConnection(){
        dbconnect();
        }
    //-----------------------
    public void dbconnect(){
        try
        {
     Connection conn=DriverManager.getConnection("jdbc:ucanaccess://C:/Users/Ghazi/workspace/java w access/login.accdb");
      Statement stment = conn.createStatement();
        }
        catch(Exception err)
        {
            System.out.println(err);
        }
    }
    //--------------------------
        public static void main(String[]args){
            DbConnection ob=new DbConnection();
            }//end main
    }

最佳答案

尝试添加“Class.forName():

   public void dbconnect(){
     try  {
        Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
        Connection conn=DriverManager.getConnection("jdbc:ucanaccess://C:/Users/Ghazi/workspace/java w access/login.accdb");
        Statement stment = conn.createStatement();
     }
     catch(Exception err) {
       System.out.println(err);
     }
   }

基本问题是早期版本的 Java/JDBC 使用 ODBC 连接到 MS-Access ...并且 ODBC 驱动程序已从 Java 8 中删除。

可以使用两种替代方案:

1) UCanAccess:http://ucanaccess.sourceforge.net/site.html

...或...

2) Jackcess(Jackcess 2.0:新的外皮松脆,同样美味的馅料!):http://jackcess.sourceforge.net/

如果这不起作用:

3) 请指定您正在使用的 IDE(Eclipse 等 - 如果适用)

4) 确保您的 jackcess-2.0.7.jar 明确包含在 CLASSPATH 中(如何执行此操作取决于您的 IDE)

5) 考虑使用名称中不带空格的目录

关于java - 将 Java 8 与 Access 连接时出错 : No suitable driver found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27576985/

相关文章:

ms-access - Forms GotFocus 事件似乎没有触发

java - 如何仅使用本地主机 :8080 address. 运行 servlet 应用程序,这意味着我不想使用任何 url 模式

java - 使用 Java 加载 .NET 4.5 可执行文件

winforms - 从两个组合框中选择特定的 Access 表单

mysql - Python3、MySQL 和 SqlAlchemy — SqlAlchemy 是否始终需要 DBAPI?

sql - 添加外键约束锁定表

ms-access - 使用 Access VBA 检测新记录并获取 ID

java - 如何在按下 'EditText' 时取消选择 'enter' 元素

java - Android应用可以是原生的还是Java的

PHP MySQL 有没有办法从错误中获取列键