使用 Jackcess 打开 Access 数据库文件



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

我的代码

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

我无法运行数据库.open 方法,因此目标为 null,引发异常。

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

谢谢

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

this.target = DatabaseBuilder.open(tempTarget);

编辑:

我从另一个问题中看到,您正在尝试使用相当旧的 Jackcess (1.2.6) 的 1.x 版本,该版本确实为数据库对象提供了 .open 方法。你真的应该考虑使用更新的2.x版本的Jackcess。

相关内容

  • 没有找到相关文章