日期:2014-05-17  浏览次数:20581 次

sql2000数据库的并发访问问题
我现在的项目是一个C/S模式下的 企业管理软件,问题描述如下:
A管理员登录系统,正在更新user表的某个属性,这时候B也登录了去查询user表或更新相同的属性,

这个是经典的数据库并发访问的 丢失更新、读脏数据、不可重复读的问题吧,不知道有没有弄过这块的朋友,
学生 刚入行不久,单独设计这块 这些东西在大学也仅仅是个理论,没 深入了解过,求 指点!


小弟再次谢过了!

------解决方案--------------------
类似的帖子,论坛上有很多。
http://blog.csdn.net/shaily/article/details/3735646

------解决方案--------------------
这块主要是事务方面的问题,其实核心思想就是:要不要增加隔离级别
1、对于关键的数据,更新时,最起码要使用默认隔离级别,即read commited。甚至更高级别。
2、对于一下不常改变的数据,为了减少阻塞,可以在论证后使用一些read uncommited的隔离级别。比如一个学生系统中,在初始化过后,其实学生姓名、院系的名称。这些的改动是非常少的,如果经常需要并行查询,那可以考虑使用read uncommited
补充一下,其实最好还是使用默认的隔离模式。默认的基本上就足够了。
------解决方案--------------------
事务控制问题。
使用系统默认的数据库隔离级别就能很好的解决这些问题。