package myJavaPrograms;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class AccessDBFiles {
public static void main(String[] args) throws SQLException {
Connection conn=DriverManager.getConnection(
"jdbc:ucanaccess://C:\\TESTFILE\\Database11.accdb");
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM myTable");
while (rs.next()) {
System.out.println(rs.getString(1));
}
}
我在线程main中得到异常,作为线程“ main”中的异常 java.lang.NoClassDefFoundError: org / apache / commons / lang / builder / CompareToBuilder
答案 0 :(得分:0)
我看到您正在使用纯的JDBC驱动程序UCanAccess。这种情况下,您必须加载此驱动程序:
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
或者,您可以像这样加载JDBC / ODBC驱动程序类:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
在这种情况下,URL格式如下:
jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=myDB.mdb;
此外,不要忘记关闭资源:ResultSet,Statement和Connection。
答案 1 :(得分:0)
UCanAccess使用Jackcess,而Jackcess使用commons-lang
(v2.x),而不是commons-lang3
。 UCanAccess所需的所有依赖项都包含在UCanAccess发行版(.bin.zip文件)的lib
文件夹中。