猿问

线程“main”中的异常 java.lang.NoClassDefFoundError:

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

holdtom
浏览 249回答 2
2回答

尚方宝剑之说

UCanAccess 使用 Jackcess,而 Jackcess 使用commons-lang(v2.x),而不是commons-lang3. UCanAccess 所需的所有依赖项都包含在libUCanAccess 发行版(.bin.zip 文件)的文件夹中。

慕森王

我看到您正在使用纯 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。
随时随地看视频慕课网APP

相关分类

Java
我要回答