使用Jackcess从Ubuntu 14.04服务器访问Microsoft Access数据库

时间:2014-09-15 08:14:21

标签: java ms-access-2010 jackcess

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

我该怎么做?

1 个答案:

答案 0 :(得分:1)

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

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

  2. 必须设置Ubuntu服务器才能安装Windows共享,最有可能使用类似于此处描述的步骤:

  3. MountWindowsSharesPermanently

    完成后,在Ubuntu服务器上运行的Java代码应该能够使用Jackcess通过从安装位置打开来操作Access数据库文件。

    例如,如果您已配置Ubuntu服务器以在/mnt/windowsshare使Windows共享可用,那么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本身无法管理多个并发用户。 (参考:here。)

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