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