Java 使用JackAccess库读取Access数据库
这是我第一次尝试这样做。。。我正在尝试获取到我的数据库的链接,然后显示一个表,以查看链接是否已建立。由于某种原因,它就是不起作用。 这是我的密码:Java 使用JackAccess库读取Access数据库,java,netbeans,jackcess,Java,Netbeans,Jackcess,这是我第一次尝试这样做。。。我正在尝试获取到我的数据库的链接,然后显示一个表,以查看链接是否已建立。由于某种原因,它就是不起作用。 这是我的密码: package dbtest; import java.io.*; import com.healthmarketscience.jackcess.*; import java.util.logging.Level; import java.util.logging.Logger; public class DbTest { /** * @pa
package dbtest;
import java.io.*;
import com.healthmarketscience.jackcess.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class DbTest {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try
{
Database db = DatabaseBuilder.open(new File("Users\\ou_snaaksie\\NetBeansProjects\\dbTest\\MOVIES.mdb"));
Table tblMOVIES = db.getTable("tblMOVIES");
System.out.println(tblMOVIES.toString());
}
catch (IOException ex)
{Logger.getLogger(DbTest.class.getName()).log(Level.SEVERE, null, ex);}
}
}
我得到的错误是:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at com.healthmarketscience.jackcess.impl.DatabaseImpl.<clinit>(DatabaseImpl.java:91)
at com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:170)
at com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:193)
at dbtest.DbTest.main(DbTest.java:25)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 4 more
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
线程“main”java.lang.NoClassDefFoundError中的异常:org/apache/commons/logging/LogFactory
在com.healthmarketscience.jackcess.impl.DatabaseImpl.(DatabaseImpl.java:91)
位于com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:170)
位于com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:193)
位于dbtest.dbtest.main(dbtest.java:25)
原因:java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory
在java.net.URLClassLoader$1.run(URLClassLoader.java:372)
在java.net.URLClassLoader$1.run(URLClassLoader.java:361)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:360)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 4更多
Java结果:1
生成成功(总时间:0秒)
错误消息告诉您,您的项目缺少
commons日志记录
。正如Jackcess'中提到的,除了Jackcess.jar文件之外,您还需要
- v2.x(commons-lang-2.4.jar或更新版本),以及
- (commons-logging-1.0.4.jar或更新版本)