ado多线程连数据死锁的问题

hujarvis 2009-09-08 03:36:43
使用ado连数据库的时候,用到存储过程,多个线程有自己独立的Command对象,线程之间共用一个Connection,在对数据库操作的过程中出现了死锁。请问这是为什么呢,怎么解决这个问题呢(只使用一个Connection),Command和Connection之间有的具体关系式什么呢?
...全文
105 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tszyf 2009-09-09
  • 打赏
  • 举报
回复
来学习的 呵呵
soft_wsx 2009-09-08
  • 打赏
  • 举报
回复
C++不懂,帮顶
billpu 2009-09-08
  • 打赏
  • 举报
回复
我觉得与其讨论多线程的并发情况 不如看看存储过程的细节 这个可能才是你死锁的问题根源
翼帆 2009-09-08
  • 打赏
  • 举报
回复
一,使用线程锁。。
二,也可以全局定义一变量,在执行SQL前设为1,执行完后设为0,在线程执行时,判断该变量如果为1,则线程等待1秒后重试~

如此即可
hujarvis 2009-09-08
  • 打赏
  • 举报
回复
c++
sdhdy 2009-09-08
  • 打赏
  • 举报
回复
你是什么开发语言?执行存储过程为什么不用Connection.exec 存储过程名?
--小F-- 2009-09-08
  • 打赏
  • 举报
回复
多线程操作是容易死锁的 解决方法是用try...catch...来做
抛出异常 打开以后关闭连接

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧