我假装从Java向MS数据库添加记录。我可以使用 Jackess 做到这一点,但由于任何原因,使用此数据库的软件看不到数据,直到: 1 关闭并重新打开软件,或 2 使用 MS Access 打开数据库并关闭它,而不考虑修改数据
该软件是POS,当我从任何终端输入记录时,这些记录从另一个终端可见,当我从MS Access输入记录时,这些记录从任何终端都可见,我不必关闭并重新打开软件。但是,如果我从我的 Java 应用程序输入记录,则不会自动可见。
.mdb文件中是否有任何标志来通知数据已更改?
谢谢
我认为在多用户环境中使用jackccess编写是危险的
是的。当有多个并发用户时,不应使用 Jackcess 写入 Access 数据库文件。
POS 系统和 Access 本身都使用 Access 数据库引擎来管理并发用户。即使每台计算机都运行自己的 Access 数据库引擎副本,这些副本也会协同工作以跟踪对数据库文件的更改。
另一方面,Jackcess 根本不使用 Access 数据库引擎;它直接写入 Access 数据库文件。它没有实际的方法可以知道其他进程可能对文件做了什么,也没有实际的方法告诉其他进程它已经更改了文件。
结论:如果您的环境有多个并发用户,请不要使用 Jackcess 更新数据库。