常用的数据加锁方法(以ORACLE 与PB连接为例) A 在客户端编程方法:在客户端的编程处理的方法最简单,调试也很直观、方便。但是这种方法仅仅在中、小型网络中可以使用。因为当网络用户数量增加,或应用程序在客户端应用过程中意外中断(死机,退出),则可能造成数据行的死锁。其他用户无法正确独占加锁。但是实际应用表明此种方法在网络自身可靠性好、用户数量不大时经常被采纳。
B 在客户端按传输(Transaction )方法处理:将要提交的所有SQL任务作为多个子串传送到服务器端,用动态SQL方法在客户端一次传输完成后,在服务器端一次执行完成,只有当事务执行正确,才能提交, 否则回滚。这样在执行多个表操作提交时,数据执行加锁的时间影响将大大减小。这样极大程度的缓解了多表共享数据的加锁问题。好处是不需要服务器端的调试,但是,编程调试过程复杂。但是实际效果与第一种方法基本一致。
C 存储过程方法:这种方法是直接调用服务器的存储过程,所有的对Client端程序代码可以大大减少,数据一致性,并发性,安全性都能得到保证。客户端的异常通常不会影起数据的死锁。