拼吾爱程序人生

首页 » 数据库编程 » SQL » 解决This SqlTransaction has completed; it is no longer..
cobra - 2008-3-24 12:23:00
文/cobra  出处/拼吾爱

前些时候一个项目出了点状况,错误日志里经常会记录一条:"This SqlTransaction has completed; it is no longer usable",在网上搜了一下,大多是英文资料,而且也没给出比较统一的解决办法,试过好多,都不理想,想到老一辈“自力更生,丰衣足食”的教诲,于是安静下来想了许久。。。

这句错误的表面意思是:SQL事务已完成,不可再用。将这句话翻来覆去研究了半天,得出的结论是:和SQL事务调用有关。看了数据库操作类的代码,略作改动,重新上线,OK,至今已经运行一月有余,没有再报同样的错误,哎,靠人不如靠自己,果然。。。

事务代码如下:


引用:
                #region 事务
                /// <summary>
                /// 开始一个事务
                /// </summary>
                private void BeginTrans()
                {
                  trans = conn.BeginTransaction() ;
          inTransaction = true;
                }

                /// <summary>
                /// 提交一个事务
                /// </summary>
                private void CommitTrans()
                {
                        if (trans != null)
                        {
                          trans.Commit();
                  inTransaction = false;
                        }
                }

                /// <summary>
                /// 回滚一个事务
                /// </summary>
                private void RollbackTrans()
                {
                        if (trans != null)
                        {
                          trans.Rollback();
                  inTransaction = false;
                        }
                }
                #endregion

 您可能对 [SQL] 的这些文章也感兴趣:

SELECT @@IDENTITY中的@@含义及应用方法
NHibernate系列(5):探索Insert, Update, Delete操作
IBatis.Net使用方法之五:再谈查询
SQL 非正常删除日志文件的恢复
批量更改数据库对象所有者nf_ChangeObjectOwner
NHibernate系列(2):第一个NHibernate程序
几条常见的数据库分页 SQL 语句数据库
通过分析SQL语句的执行计划优化SQL(三)
SELECT查询的应用(一)
通过sql语句获取数据库的基本信息
1
查看完整版本: 解决This SqlTransaction has completed; it is no longer..
Modify by pin5i DZNT_ExpandPackage 2.1.3237 2007-2008 pin5i.com
  Total Unique Visitors: