加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 由多个用户编辑数据库记录

发布时间:2020-12-12 16:37:15 所属栏目:MsSql教程 来源:网络整理
导读:我设计了数据库表(在MS SQL服务器上进行了标准化),并为一些应用程序创建了一个独立的 Windows前端,这些应用程序将被少数用户用于添加和编辑信息.我们将添加一个网页界面,以便日后在我们的生产区域进行搜索. 我担心如果两个用户开始编辑相同的记录,那么最后一
我设计了数据库表(在MS SQL服务器上进行了标准化),并为一些应用程序创建了一个独立的 Windows前端,这些应用程序将被少数用户用于添加和编辑信息.我们将添加一个网页界面,以便日后在我们的生产区域进行搜索.

我担心如果两个用户开始编辑相同的记录,那么最后一次提交更新将是“赢家”,重要信息可能会丢失.我想到了一些解决方案,但我不确定是否会造成更大的头痛.

>不做任何事,希望两位用户永远不会同时编辑同一条记录. – 可能永远不会发生,但如果它呢?
>编辑例程可以存储原始数据的副本以及更新,然后在用户完成编辑时进行比较.如果它们不同,显示用户和确认更新 – 将需要存储两个数据副本.
>添加上次更新的DATETIME列,并在更新时检查它匹配,如果不是则显示差异. – 在每个相关表格中需要新的列.
>创建编辑表,注册用户开始编辑要检查的记录,并阻止其他用户编辑同一记录. – 将需要讽刺的程序流程,以防止死锁和记录被锁定,如果用户崩溃了程序.

有没有更好的解决方案,或者我应该去哪一个?

解决方法

如果你期望不经常的碰撞,Optimistic Concurrency可能是你最好的选择.

Scott Mitchell写了一个关于实现该模式的综合教程:
Implementing Optimistic Concurrency

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读