我已经在我的 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。
我该怎么做呢 ?
我已经在我的 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。
我该怎么做呢 ?
Jackcess 需要能够打开数据库文件,所以
数据库文件需要位于 Windows 服务器上的共享文件夹中,并且
必须设置 Ubuntu 服务器以挂载 Windows 共享,很可能使用类似于此处描述的步骤:
完成后,运行在 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 打开文件时尝试更新数据库。如果发生这种情况,您很可能会遇到奇怪的错误,甚至可能会损坏数据库文件。