多个用户同时更新XML文件

时间:2013-05-08 13:18:08

标签: xml database ms-access

假设您有以下情况:

应用程序在两台计算机上本地运行,XML文件是共享的。

用户1:加载文件。 用户2:加载文件,更新第5行。 用户1:更新第6行,单击“保存”。 用户2:点击“保存”。

我可以阻止上次“保存”点击覆盖用户1的更新值吗?

MS Access DB而不是XML文件会解决这个问题吗?

3 个答案:

答案 0 :(得分:2)

任何体面的数据库都会解决诸如此类的并发问题。这就是为什么人们使用MySQL / SQL Server / Oracle / PostGre等而不是文本文件来存储数据(例如,StackOverflow中的帖子)。

答案 1 :(得分:1)

访问可能会部分解决它们,它在这个区域比完整的dbms更弱。 如果你想保持基于文件,那么你有三个基本选项。

你写了一个“服务器”来处理对该文件的并发访问。

你使用悲观锁,第一个要求编辑文件的人得到它,其他人只读#/ p>

你使用乐观锁。 如果文件自加载后已更改,则不允许保存。然后你可以通过做差异和冲突解决来加强这一点。考虑合并代码更改,但这会很快变得复杂。

即使使用dbms,也可能需要冲突解决层。

答案 2 :(得分:1)

Access将解决问题,因为您只能在记录级别而不是文件(或表)级别进行锁定。

我会考虑使用更多的客户端/服务器数据库,因为访问是基于文件的rdbms,并且不能很好地应对10-15个用户的并发性,增加用户数量会非常严重。

MySQL是一个好的开始,也是免费的:)