zoukankan      html  css  js  c++  java
  • 做项目时,如何进行数据并发冲突的控制

    介绍 ADO.NET 中的数据并发

    http://msdn.microsoft.com/zh-cn/library/cs6hb8k4(VS.80).aspx
    http://msdn.microsoft.com/zh-cn/library/y8fyz6xy(VS.80).aspx
    http://msdn.microsoft.com/zh-cn/library/ms171936(VS.80).aspx

     数据并发控制
    http://blog.csdn.net/bbwolfcool/archive/2007/08/18/1749626.aspx

    如果是死锁可以查一下:
    1:sp_who 或 sp_who2
    2: Select * from sysprocesses where blocked <> 0
    3: 企业管理器->服务器->管理工具->活动->当前活动 然后把他kill掉。。。   进程信息中,如果发现旁边有一个锁状的图标,就表明这个进程是死锁,kill掉4:SQL事件探查器,监控一下,看主要是那些处理引起的死锁.然后做相应的处理.用事件探查器new一个trace,监视一下造成你sqlserver停顿的情况。。。最好的办法还是检查一下引起锁的原因,一般是由你的代码引起的。 


    如果多台计算机同时修改数据库中同一数据,必然会导致数据的不正确,请问大家在做并发控制是有什么好的解决方案?

    假如说发生了同时修改数据,数据库会返回什么信息呢?在程序中怎么捕捉?

    在作系统分析时,就应当通盘考虑。我们现在的做法是,在数据库建表时会多出一个字段update datetime类型,在数据提交时前会先从数据库中取出当前值与原有值进行比较,如果不一致就说明已经有别人修改过了。

    比如一个客户,你已经把名字改成了王二,而我读取的原名是李一,再修改成王二虎,就冲突了.
    就是说,会让别人的修改丢失.

    这就是并发.

  • 相关阅读:
    使用vimdiff作为svn diff的查看代码工具
    Source Insight :在 { 后敲回车后让代码自动缩进
    关于浏览器内核的一些小知识
    Linux内存点滴 用户进程内存空间
    自定义eclipse代码模板
    sqlplus 小记
    LD_PRELOAD的用法 以及链接库的用法
    如何更方便的使用sooset
    [hadoop源码阅读][0]初衷和各种资源
    hadoop streaming和pipes资料
  • 原文地址:https://www.cnblogs.com/chenlulouis/p/1530955.html
Copyright © 2011-2022 走看看