我们目前在同一个网站上使用 iBatis 和 nHibernate。在特定页面上执行保存会引发以下错误:
System.Data.OracleClient.OracleException: ORA-01453: SET TRANSACTION 必须是事务的第一条语句
堆栈跟踪显示在此问题的末尾。这只发生在这一页上(至少我们已经看到了。)
代码非常基本,在验证当前没有活动事务后调用 BeginTransaction。我很难过并寻找想法:1.可能导致问题的原因 2.如何调试/故障排除 - (例如:有没有办法窥探通过 System.Data.OracleClient 发送到 Oracle 的命令?)
感谢您的任何帮助。
System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc) +304553 System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals) +990 System.Data.OracleClient .OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor& rowidDescriptor) +431 System.Data.OracleClient.OracleCommand.ExecuteNonQuery() +115 System.Data.OracleClient.OracleTransaction..ctor(OracleConnection connection, IsolationLevelisolationLevel) +377 System.Data.OracleClient .OracleInternalConnection.BeginOracleTransaction(IsolationLevel il) +101 System.Data.OracleClient.OracleInternalConnection.BeginTransaction(IsolationLevel il) +4 System.Data.OracleClient。OracleConnection.BeginDbTransaction(IsolationLevel isolationLevel) +63 System.Data.Common.DbConnection.System.Data.IDbConnection.BeginTransaction(IsolationLevel isolationLevel) +10 NHibernate.Transaction.AdoTransaction.Begin(IsolationLevel isolationLevel) +176