请教多线程操作数据库冲突问题(100分)

  • 主题发起人 主题发起人 hpn_cao(小海)
  • 开始时间 开始时间
H

hpn_cao(小海)

Unregistered / Unconfirmed
GUEST, unregistred user!
我在多线程类中建立Ado对象,并且操作数据库,请问当有多个线程实例的时候,会不会冲突,或者数据锁定的问题?
 
ADO的Connection不要用同一個, 要每個線程有自己的connection, 否則雖不會有線衝突,
但效率不好;
數據鎖定的問題會有, 所以便新資料時要依照固定的順序, 就不會發生死鎖現象
 
当然会有,虽然Sqlsever有默认处理,不过多个线程同访一个表时,仍要做事物控制。
 
SqlServer有自己的并发数据控制,我是操作Access遇到这个问题的。
我是在每个线程中有自己的Connection,因此产生了这个问题 。
如果自己做同步处理,那不是和但线程无异?就没有意义了。
还有人发言么?
 
你在每个线程中有自己的Connection,就跟你开多个程序一样。一般不会冲突,但数据锁定是会有的。
 
我是用BDE来建立多线程的数据库连接的,给每个连接加上自己的SESSION,但是如果一个线程
在查数据库的一张表,另外一个线程在修改同一张表,那么肯定会死锁。但是如果都是查就
不会出现这种问题。
 
有人说几个线程共用一个Connection就不会有这个问题了 ,是么?
看来只有换用Sqlserver了
 
to duanliandl:
你的修改和查询都是用TABLE吧?
我用SQL语句好象没有问题。
 
每个线程一个Connection,调用服务器的存储过程,SQL SERVER会帮你调度的
 
BDE有个SESSION控件可以用于多线程
把ADO连接及其它对象放在线程中创建应该没问题。
 
单纯的查询是不会有锁定的现象的.除非updata...
 
后退
顶部