我想連接女士Access數據庫與Java 8版本。但正如在這個版本jdbcodbcbridge已刪除驅動程序,所以以下jar文件必須包括:java.lang.NoClassDefFoundError:com/healthmarketscience/jackcess/util/ErrorHandler在ms訪問連接與java8
**ucanaccess-x.x.x.jar
HSQLDB (hsqldb.jar, version 2.2.5 or newer)
,Jackcess (jackcess-2.x.x.jar)
,commons-lang (commons-lang-2.6.jar, or newer 2.x version)
,commons-logging (commons-logging-1.1.1.jar, or newer 1.x version)**
我在日食通過構建路徑選擇買所有這些jar文件。
但仍當我執行下面的代碼是爲未來與錯誤:
Exception in thread "main" java.lang.NoClassDefFoundError: com/healthmarketscience/jackcess/util/ErrorHandler at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at demo.JDBCDemo.main(JDBCDemo.java:11) Caused by: java.lang.ClassNotFoundException: com.healthmarketscience.jackcess.util.ErrorHandler at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 3 more
而且我的代碼是:
import java.sql.*;
import java.util.*;
import com.healthmarketscience.jackcess.util.ErrorHandler;
public class JDBCDemo {
public static void main(String args[]) throws Exception
{
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
Connection con=DriverManager.getConnection("jdbc:ucanaccess://C:\\Users\\isha\\Desktop\\StudentData.accdb");
Statement stmt=con.createStatement();
String str="insert into NameData values(4,'ram')";
stmt.executeUpdate(str);
String s="select * from NameData";
ResultSet res=stmt.executeQuery(s);
while(res.next()){
System.out.println(res.getString(1)+":"+res.getString(2));
Enumeration e=DriverManager.getDrivers();
while(e.hasMoreElements()){
Driver d=(Driver)e.nextElement();
System.out.println(d.getClass().getName());
}
}
}
}
import com.healthmarketscience.jackcess.util.ErrorHandler;這條線是我加入的,只是檢查班級的存在。 – Isha
也許罐子不是類路徑的一部分 – Jens
我正在做eclipse中的編程。所以在這種情況下,我們通過項目中的bulid路徑引入jar文件,並且我做了 – Isha