java - 32位Win7、32位JDK和32位MS Access导致java.sql.SQLException : No suitable driver found

标签 java windows jdbc odbc datasource

我有 32 位 Win7、32 位 Office 2010 和 32 位 JDK 8u5,并尝试访问 MS Acess 数据库。当我尝试建立连接时,出现 java.sql.SQLException: No合适的驱动程序找到

这之间没有区别:

连接 konekcija = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access 驱动程序 (*.mdb, *.accdb)};DBQ=D:\\Marko\\NetBeansProjekat\\dnevnik.accdb ");

并在管理工具中创建名为“dnevnik”的 ODBC 数据源并按如下方式使用它:

连接 konekcija = DriverManager.getConnection("jdbc:odbc:dnevnik");

在 ODBC 数据源中,我安装了 Microsoft Access 驱动程序(*.mdb、*.accdb)。

这是抛出异常的整个方法

public static List<Odeljenje> vratiSvaOdeljenja(){
   List<Odeljenje> result = new ArrayList<>();
    try {  
        Connection konekcija = DriverManager.getConnection("jdbc:odbc:dnevnik");
        String upit = "SELECT * FROM tOdeljenje";
        Statement st = konekcija.createStatement();
        ResultSet rs = st.executeQuery(upit);
        while (rs.next()) {
            long odeljenjeID = rs.getLong("OdeljenjeID");
            String oznakaOdeljenja = rs.getString("OznakaOdeljenja");               

            Odeljenje o = new Odeljenje(odeljenjeID, oznakaOdeljenja);
            result.add(o);
        }
        konekcija.close();
    } catch (SQLException ex) {
        Logger.getLogger(RadSaBazom.class.getName()).log(Level.SEVERE, null, ex);
    }
    return result;
}

提前谢谢你:)

最佳答案

Java8 中删除了 JDBC-ODBC 桥。为了推理,请阅读 this .

您可以使用专门用于 Access 的 JDBC 驱动程序,例如 UCanAccess .

有关 UCanAccess 的更多信息,请阅读 this question .

关于java - 32位Win7、32位JDK和32位MS Access导致java.sql.SQLException : No suitable driver found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23639141/

相关文章:

java - 在 Hadoop Mapreduce 中使用 gzip 编解码器压缩 reducer 的输出时出错

java - 使用 neo4j-ogm 2.0.x 执行 CYPHER 删除查询时出现 Jackson 异常

.net - Process.Start() 不适用于 Windows 2012 R2

c# - 如何向用户显示安装程序

java - Java中什么时候应该使用setAutoCommit(true)

java - 2 字节 UTF-8 序列的无效字节 2

java - 如何在 map 标记(汽车)周围放置进度条

c# - 来自 C# 的 Windows 模拟

java - 未设置 UCANACCESS_HOME 系统变量

java - 如何在WebSphere 7中捕获Oracle JDBC PL/SQL函数调用的参数值