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
2 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
UCanAccess 使用 Jackcess,而 Jackcess 使用commons-lang
(v2.x),而不是commons-lang3
. UCanAccess 所需的所有依赖项都包含在lib
UCanAccess 发行版(.bin.zip 文件)的文件夹中。
慕森王
TA贡献1777条经验 获得超3个赞
我看到您正在使用纯 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。
添加回答
举报
0/150
提交
取消