Java 使用Jackcess打开Access数据库文件

Java 使用Jackcess打开Access数据库文件,java,eclipse-plugin,eclipse-rcp,jackcess,Java,Eclipse Plugin,Eclipse Rcp,Jackcess,我正在使用jackcessapi将我的数据库复制到一个文件中。我成功地建立了与数据库的连接,但是当我试图打开数据库时,我得到了一个空指针异常 我的代码 File tempTarget=File.createTempFile("eap-mirror", "eap"); String conString = EaDbStringParser.eaDbStringToJdbc(sourceString); this.source=DriverManager.getConnection(con

我正在使用jackcessapi将我的数据库复制到一个文件中。我成功地建立了与数据库的连接,但是当我试图打开数据库时,我得到了一个空指针异常

我的代码

File tempTarget=File.createTempFile("eap-mirror", "eap");     
String conString = EaDbStringParser.eaDbStringToJdbc(sourceString);
this.source=DriverManager.getConnection(conString);
this.source.setReadOnly(true);
try {
    FileUtils.copyFile(new File(templateFileString), tempTarget);
    System.out.println("file copied");
} catch (IOException e) {
    e.printStackTrace();
}

this.target=Database.open(tempTarget,false,false); //Cannot run this line
我无法运行Database.open方法,因此目标为null,引发异常

有人知道我做错了什么或者这里需要什么吗


谢谢

com.healthmarketscience.jackcess.Database
没有
.open
方法(参考:)。要在jackaccess中打开数据库文件,我们使用
DatabaseBuilder.open
,如中所示

this.target=DatabaseBuilder.open(testarget);
编辑:


我从中了解到,您正在尝试使用一个相当旧的1.x版本的Jackcess(1.2.6),它确实为数据库对象提供了一个.open方法。您确实应该考虑使用当前的2版本的JavaSess。< /P>但在Eclipse中,它提供了数据库.OPEN()方法和导入的COM.HealthMealStudio.JavaCas.DATA;在我的工作区中有一个maven项目,如果我从maven项目调用此方法,它会工作,如果我从插件项目调用它,它不会工作,这一定是其他
数据库
对象,不是
com.healthmarketscience.jackcess.Database
接口。我不这么认为,因为如果我删除导入,数据库将不再是可识别的可能的副本