【问题标题】:After NHibernate Commit Transaction received 'The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION. 'NHibernate Commit Transaction 收到后'COMMIT TRANSACTION 请求没有对应的BEGIN TRANSACTION。 '
【发布时间】:2011-03-18 13:56:06
【问题描述】:

我将事务范围用于分布式事务和 NHibernate 内部事务。 完成所有操作后,我检查 Transaction.Current 是否未中止并尝试提交 NHibernate 事务。

有时我会收到此错误:

COMMIT TRANSACTION 请求没有对应的 BEGIN TRANSACTION。 此会话中活动的事务已提交或中止 由另一个会话。

使用以下堆栈跟踪:

System.Data.SqlClient.SqlConnection.OnError(SqlException 异常, Boolean breakConnection) в System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔型 breakConnection) в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) × System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior、SqlCommand cmdHandler、SqlDataReader 数据流、 BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) в System.Data.SqlClient.TdsParser.TdsExecuteTransactionManagerRequest(字节 [] 缓冲区,TransactionManagerRequestType 请求,字符串 transactionName, TransactionManagerIsolationLevel isoLevel,Int32 超时, SqlInternalTransaction 事务,TdsParserStateObject stateObj, 布尔 isDelegateControlRequest) × System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransactionYukon(TransactionRequest transactionRequest,字符串 transactionName,IsolationLevel iso, SqlInternalTransaction 内部事务,布尔值 isDelegateControlRequest) × System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransaction(TransactionRequest transactionRequest,字符串名称,IsolationLevel iso, SqlInternalTransaction 内部事务,布尔值 isDelegateControlRequest) × System.Data.SqlClient.SqlInternalTransaction.Commit() System.Data.SqlClient.SqlTransaction.Commit() NHibernate.Transaction.AdoTransaction.Commit()。

这个错误是偶尔出现的主要问题。这可能是什么原因?

【问题讨论】:

    标签: nhibernate transactionscope


    【解决方案1】:

    看起来您不是通过集中代码打开会话,而是每次都关闭会话事务,否则我看不出发生这种情况的原因..

    确保在引发此错误的位置使用相同的代码路径。可能正在查看堆栈跟踪。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多