关于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的那个表,而程序里执行的那条命令一直在等待这张表解锁;简单来说,就是发生了死锁.
感谢同事小谢!
原因:问题在于在PL/SQL里执行的那条update语句,PL/SQL默认在窗口里执行的update语句是一个事务,只有关闭执行sql的窗口后,才会commit,或者显式commit,所以
当一直打开这个窗口有没有显式commit时,数据库锁定了要update的那个表,而程序里执行的那条命令一直在等待这张表解锁;简单来说,就是发生了死锁.
感谢同事小谢!
相关文章推荐
- 关于hibernate执行sql语句后,进程不关闭的问题
- 关于sql条件语句where id in (@参数)执行报错问题(转换成数据类型 int 时失败)(
- sql server中高并发情况下 同时执行select和update语句死锁问题 (二)
- 关于java的try...catch块中finally语句何时被执行的问题
- sql server 关于 执行update语句超级慢原因
- sql server中高并发情况下同时执行select和update语句死锁问题(一)
- 关于微软企业库查询语句db.ExecuteNonQuery(cmd)返回-1的问题
- iOS中关于NavigationController中UIStatusBar黑白切换以及preferredStatusBarStyle一直不执行的问题
- 关于SubSonic3.0插件使用实体进行更新操作时(执行T.Update()或T.Save()),某些列无法进行修改操作的问题处理
- 关于触发器在行级和语句级的执行顺序问题
- 关于mysql 执行批量的sql 语句问题:&allowMultiQueries=true
- 关于hql执行带有case when 的语句问题,另:数据表的倒置
- 关于在myeclipse中执行mySQL语句出现问题
- 请教一个关于javascript执行sql语句的问题
- sql server中同时执行select和update语句死锁问题
- 关于触发器在行级和语句级的执行顺序问题
- sql server中高并发情况下 同时执行select和update语句死锁问题
- 关于sql语句的执行顺序问题
- sql server中高并发情况下同时执行select和update语句死锁问题(二)
- 关于ExecuteNonQuery()执行成功却返回-1的问题