多线程访问数据库时错误:异步运行时,操作不能执行. ( 积分: 50 )

  • 主题发起人 主题发起人 formiss
  • 开始时间 开始时间
F

formiss

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了两个线程,每个线程完成一个固定的功能,并在线程中用了定时器,第一个线程来控制从数据库里实时读取要发送的信息,然后送到与串口相连的短信猫进行发送.第二个线程来控制实时从短信猫检测发送出去的信息的状态,然后再插入到数据库的表中.
但是,程序运行时间长了就会出现错误: 异步运行时,操作不能执行.
请哪位高手指点一下.
是不是要每个线程都要建立一个adoconnection?
有没有具体实现的例子.
 
原因很可能出现在线程同步工作没有作好(比如:多个线程同时访问同一个表),
还有要确保adoconnection不能被某个线程提前给释放了。
每个线程都要建立一个adoconnection的话,可能也不能保证不报那个错,
但是会导致数据库数据不一致问题,再说频繁的close,再open,速度会变慢的
(一般都共享连接的)
 
做成两个com+组件服务也许更好
 
后退
顶部