您的位置:首页 > 产品设计 > UI/UE

关于ExecuteNonQuery()一直执行update语句问题

2012-03-31 15:45 253 查看
问题详细: 用OracleCommand的ExecuteNonQuery()方法执行一条update语句,把要执行的update语句放到PL/SQL里执行成功,但当在页面执行的时候,页面卡住,执行调试发现时ExecuteNonQuery()一直在执行, 没有报异常,检查原因发现数据库连接,sql语句均没有问题,怎么回事?

原因:问题在于在PL/SQL里执行的那条update语句,PL/SQL默认在窗口里执行的update语句是一个事务,只有关闭执行sql的窗口后,才会commit,或者显式commit,所以

当一直打开这个窗口有没有显式commit时,数据库锁定了要update的那个表,而程序里执行的那条命令一直在等待这张表解锁;简单来说,就是发生了死锁.

感谢同事小谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: