日期:2014-05-18  浏览次数:20402 次

超难问题,如何使进程A读写完成后再让进程B再读写数据库?
首先,加锁肯定是不行的,加锁直接导致了进程B报告记录锁定,不会等待。

怎么解决?

是不是有这种数据库,或则插件,或者其它办法?

最终实现多台计算机的客户端程序可以互不干扰地操作这个数据库?

------解决方案--------------------
进程a写数据库时会加锁,其他进程等待,写完后释放锁,其他进程就可以写了。这些功能都是数据库系统实现的,程序员不用考虑。
------解决方案--------------------
读写的时候sql有自己的锁和事务机制,为什么要这么干?


------解决方案--------------------
如何使进程A读写完成后再让进程B再读写数据库?
-------------------------------------------------
SqlServer本来的机制就是这样的,不管开不开事务,更新也就是写的时候自然会加更新锁,
只要读取数据就是select的时候不使用 with(nolcok) ,那么进程A读写的进程B自然需要等候了


加锁肯定是不行的
------------------------------
这个更新的时候加的更新锁不是你能决定不加的,这是SqlServer本身的机制决定