gpt4 book ai didi

java.lang.ClassNotFoundException : sun. jdbc.odbc.JdbcOdbcDriver 发生异常。为什么?

转载 作者:IT老高 更新时间:2023-10-28 21:03:37 27 4
gpt4 key购买 nike

我创建了一个 MS Access 数据库并为其分配了一个 DSN。我想通过我的 Java 应用程序 Access 它。

这就是我正在做的:

public class AccessDbConnection {

public static void main(String[] args) {
System.out.println("**ACCESS DB CONNECTION**");

try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // for MS Access ... MS access driver loading

String conURL = "jdbc:odbc:sampleDNS";
Connection con = DriverManager.getConnection(conURL);
Statement statement = con.createStatement();
String qry = "SELECT * FROM Table1";
ResultSet rs = statement.executeQuery(qry);

while(rs.next()) {
String id = rs.getString("ID") ;
String fname = rs.getString("First_Name");
String lname = rs.getString("Last_Name");
System.out.println(id + fname + lname);
}
} catch (ClassNotFoundException ex) {
System.out.println("Classforname Exception!!");
Logger.getLogger(AccessDbConnection.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
System.out.println("DriverManager Exception!!");
Logger.getLogger(AccessDbConnection.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

我在 try block 的第一行遇到异常。即 class.forname("..");。为什么我有这个异常?

最佳答案

对于 Java 7,您可以简单地省略 Class.forName() 语句,因为它并不是真正需要的。

对于 Java 8,您不能使用 JDBC-ODBC 桥,因为它已被删除。您将需要使用类似 UCanAccess反而。有关详细信息,请参阅

Manipulating an Access database from Java without ODBC

关于java.lang.ClassNotFoundException : sun. jdbc.odbc.JdbcOdbcDriver 发生异常。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22984438/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com