事务未连接或已断开连接错误

本文关键字:连接 断开 错误 事务 | 更新日期: 2023-09-27 18:35:51

我正在得到

"事务未连接,或出现断开连接错误"

在执行批量插入(以及其他一些操作)后提交/回滚事务时出错。

using(var tran = Session.Session().BeginTransaction(IsolationLevel.Serializable))
    {
       // do something
       fullSession.Session().CreateSQLQuery(query).ExecuteUpdate();// this query bulk insert in a temp db
       // do something else
       tran.Commit()/ tran.RollBack();// if transaction is active and not already rolled back/committed
    }

如果从文件批量插入临时数据库的查询失败,我会在 tran 上收到此错误。提交/回滚。

事务未连接或已断开连接错误

批量插入是 Insert 语句的组合,因此如果失败,它不会回滚事务,因此如果您真的想捕获错误,请尝试在 BEGIN 和 END 事务中使用 Try and catch 块

我在使用 NHybernate 时遇到完全相同的错误,同时保留了一个属性为 System.Data.SqlTypes.SqlDateTime? 的类型(可为空)的实体。

将属性更改为常规System.DateTime?解决了问题。

我遇到了一些问题,但是在MS SQL Management工作室中关闭连接后,它就消失了。