0

我已经在我的 Ubuntu 14.04 服务器(IP:192.168.0.130)上安装了 Jackcess 2.0.4 API。现在我想访问 Windows 2003 R2 服务器(IP:192.168.0.125)上的 Microsoft Access 2010 DB。

我该怎么做呢 ?

4

1 回答 1

1

Jackcess 需要能够打开数据库文件,所以

  1. 数据库文件需要位于 Windows 服务器上的共享文件夹中,并且

  2. 必须设置 Ubuntu 服务器以挂载 Windows 共享,很可能使用类似于此处描述的步骤:

永久挂载WindowsShares

完成后,运行在 Ubuntu 服务器上的 Java 代码应该能够使用 Jackcess 来操作 Access 数据库文件,方法是从挂载位置打开它。

例如,如果您已将 Ubuntu 服务器配置为使 Windows 共享可用,/mnt/windowsshare那么 Jackcess 只需打开该文件夹中的数据库文件:

import com.healthmarketscience.jackcess.*;

// ...

Database db = DatabaseBuilder.open(new File("/mnt/windowsshare/Database1.accdb"));

重要的提示:

Jackcess 直接读取和写入 Access 数据库文件(.accdb 和 .mdb 文件)。它不使用 Access 数据库引擎 (ACE/Jet),也不会尝试重新创建 ACE/Jet 提供的多用户支持。因此,Jackcess 本身没有办法管理多个并发用户。(参考:这里。)

如果 Access 数据库驻留在 Windows 共享上,那么至少有一些其他用户或进程可能会在 Jackcess 打开文件时尝试更新数据库。如果发生这种情况,您很可能会遇到奇怪的错误,甚至可能会损坏数据库文件。

于 2014-09-15T13:31:27.910 回答