我已经在Ubuntu 14.04服务器上安装了Jackprocess 2.0.4 API(IP:192.168.0.130)。现在我想访问Windows 2003 R2服务器上的Microsoft access 2010数据库(IP:168.125)。
我该怎么做?
Jackess需要能够打开数据库文件,因此
-
数据库文件需要在Windows服务器上的共享文件夹中,并且
-
Ubuntu服务器必须设置为安装Windows共享,很可能使用与此处描述的步骤类似的步骤:
安装WindowsSharesPermanently
一旦完成,在Ubuntu服务器上运行的Java代码应该能够使用Jackess通过从安装位置打开Access数据库文件来操作它。
例如,如果您已将Ubuntu服务器配置为使Windows共享在/mnt/windowsshare
可用,那么Jackcess只需打开该文件夹中的数据库文件:
import com.healthmarketscience.jackcess.*;
// ...
Database db = DatabaseBuilder.open(new File("/mnt/windowsshare/Database1.accdb"));
重要提示:
jaccess直接读取和写入Access数据库文件(.accdb和.mdb文件)。它不使用访问数据库引擎(ACE/Jet),也不尝试重新创建ACE/Jet提供的多用户支持。因此,jaccess本身无法管理多个并发用户。(参考:此处。)
如果Access数据库位于Windows共享上,则至少存在其他用户或进程在Jackess打开文件时尝试更新数据库的可能性。如果发生这种情况,您很可能会遇到奇怪的错误,甚至数据库文件损坏。