如果多台计算机更新同一字段,Microsoft Access 数据库是否会保存错误?

如果多台计算机更新同一字段,Microsoft Access 数据库是否会保存错误?

如果我用 Java 编写一个程序,每次你点击按钮时都会不断请求并保存数据,并且我在 30 多台计算机上安装了这个程序,那么每个程序都会保存到一个 Microsoft Access 数据库中,该数据库存储在一个所有帐户都可以访问的服务器上,该程序的功能是获取活动用户在特定字段上的“点击”次数,当用户再次点击时,它会将这个数字加一,然后使用 SQL 再次保存

那么问题是,这些数字有可能变得不准确吗?

数据库示例

名字 姓氏 点击次数

詹姆斯·史密斯 5

约翰·阿格 25

现在 30 台计算机在 5-10 秒内都发送指令,获取并向名称为 John、姓氏为 Argh 的 Clicks 字段添加 1,会不会出现读取错误数据或无法保存准确数据的问题?或者它能否正常工作并准确保存数据

例如

约翰·阿格 55

这是我学校的一个小项目,每个人都会用到,我只是担心保存的数据可能不正确,数据的准确性非常重要,如果数据不准确,我该如何才能让它保存准确。我很确定它应该能够正确计算“点击次数”,因为 SQL 的工作方式就是这样的,我只是想在这里问一下再确认一下。

答案1

简短的回答是,不是。

如果您有一个 MDB 文件,并且以一个用户的身份打开它,则会锁定数据库。

如果您将其用作服务器应用程序,并且使用外部源连接到 MDB,则 MDB 的服务器版本将处理保存。

您唯一能得到的就是保存被排队,这可能会导致某人覆盖其他人的数据而他们却看不到与此同时更新的内容。

这意味着您需要添加逻辑来防止这种情况发生,否则人们将能够更新同一字段而不知道其他人在他们更新该字段时也对其进行了更新。

最简单的解决方案是向服务器发送发件人和收件人信息,这样服务器就可以查看发件人数据是否仍然相同,如果较新则合理拒绝,这样最终用户就可以看到该字段已更新。

相关内容