java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver發(fā)生異常。為什么?
對(duì)于Java 7,您可以?xún)H省略該Class.forName()語(yǔ)句,因?yàn)樗⒉皇钦嬲枰摹?/p>
對(duì)于Java 8,您不能使用JDBC-ODBC Bridge,因?yàn)樗驯粍h除。您將需要使用類(lèi)似ucanaccess的名稱(chēng)。有關(guān)更多信息,請(qǐng)參見(jiàn)
在https://stackoverflow.com/q/21955256/2144390
解決方法我已經(jīng)創(chuàng)建了一個(gè)MS Access數(shù)據(jù)庫(kù)并為其分配了DSN。我想通過(guò)我的Java應(yīng)用程序訪問(wèn)它。
這就是我在做什么:
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,ex);} }}
我在try塊的第一行遇到了異常。那是class.forname('..');。為什么會(huì)有此異常?
相關(guān)文章:
1. 請(qǐng)問(wèn)寫(xiě)好python模塊以后,文檔怎么寫(xiě)?2. mysql - 在下剛?cè)腴T(mén)sql 關(guān)于sql的語(yǔ)法詢(xún)問(wèn)3. angular.js - 在終端中用yeoman啟用angular-generator報(bào)錯(cuò),求解?4. html5 - 最近在自學(xué)react 求一個(gè)react表單提交的例子5. 初來(lái)乍到,相對(duì)路徑問(wèn)題,新手求教6. javascript - 原生JS和jQuety關(guān)于設(shè)置圖片輪播定時(shí)器問(wèn)題7. 老師您好!我有一個(gè)問(wèn)題、8. java - 新人有一個(gè)問(wèn)題想問(wèn)問(wèn)大家,weex怎么動(dòng)態(tài)修改控件高度9. list - python 求助10. javascript - jq 上傳圖片成功后添加一個(gè)新的上傳框時(shí)出現(xiàn)問(wèn)題
