我正在
在执行批量插入(以及其他一些操作)后提交/回滚事务时出现“交易未连接,或已断开连接错误”
错误。
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.Commit / rollback上收到此错误。
答案 0 :(得分:1)
批量插入是插入语句的组合,因此如果失败,它不会回滚事务,所以如果你真的想要捕获错误,请尝试在BEGIN和END事务中使用Try和catch块
答案 1 :(得分:0)
我使用NHybernate获得了完全相同的错误,同时持久化了具有类型System.Data.SqlTypes.SqlDateTime?
(Nullable)属性的实体。
将属性更改为常规System.DateTime?
解决了问题。
答案 2 :(得分:0)
我遇到了一些问题,但在MS SQL管理工作室中关闭连接后它就消失了。