gpt4 book ai didi

c# - 锁定表sql server

转载 作者:太空宇宙 更新时间:2023-11-03 18:41:57 24 4
gpt4 key购买 nike

我在一个 asp 解决方案中安装了多个 silverlight 应用程序,多个用户可能在同一时间对同一组数据使用同一个应用程序。 Silverlight 应用程序的设计使其从数据库中提取数据,在本地处理数据,并在用户对修改感到满意后将其写回。然而,这样做的问题是,如果两个用户在同一个数据库上使用同一个应用程序,他们将覆盖彼此的更改。

在任何时候都不会有大量用户使用同一个数据库,因为数据库数量众多,而且在任何时候都没有必要让多个用户同时处理同一组数据.我的想法是为单个用户锁定每个表,以独占访问服务器的读/写权限,拒绝任何其他用户访问甚至从有问题的锁定表中读取。

我将如何着手应用和释放表锁?我知道它可以在每个语句的基础上完成,但我需要用户拥有对该数据的完全专有权利。我可以预见的一个问题是释放锁,需要某种超时,所以表不会为一个用户永久锁定。

最佳答案

我什至不会开始尝试这个,因为你会遇到超过 1 个用户的可怕的并发问题 - 包括 1 个使用多个窗口的用户,或者在他们的系统崩溃后返回等。

处理此问题的一个简单方法是设置时间戳或更改计数,如果自获取数据以来时间戳或更改计数已更改,则警告用户他们将覆盖其他人的工作。从这个起点开始,您可以更进一步,让他们挑选更改、手动复制其他人的更改、比较更改等。

关于c# - 锁定表sql server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7877485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com