2

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

java.sql.SQLException:没有找到适合 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
    }
4

2 回答 2

0

尝试添加“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)考虑使用名称中没有空格的目录

于 2014-12-20T04:46:25.010 回答
0

我添加了 4 个库

您需要五 (5) 个库。您忘记添加“ucanaccess-xyzjar”文件本身。

有关详细说明,请参阅

在没有 ODBC 的情况下从 Java 操作 Access 数据库

于 2016-08-06T12:28:52.903 回答