我们目前在同一网站上使用iBatis和nHibernate。在特定页面上执行保存会导致抛出以下错误:
System.Data.OracleClient.OracleException: ORA-01453: SET TRANSACTION必须是事务的第一条语句
堆栈跟踪显示在此问题的末尾。这只发生在这一个页面上(至少我们已经看到了)。
代码非常简单,在确认当前没有活动事务后调用BeginTransaction。我被难住了,正在寻找想法: 1.可能导致问题的原因2.如何调试/故障排除-(例如:是否有方法可以窥探通过System.Data.OracleClient发送到Oracle的命令?)
谢谢你的帮助。
System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle System.Data.OracleClient.OracleTransaction..ctor(OracleConnection,Int32 rc) +304553 System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle errorHandle,Int32 statementHandle,CommandBehavior behavior,Boolean needRowid,OciRowidDescriptor& rowidDescriptor,ArrayList& resultParameterOrdinals) +990OciRowidDescriptor+ rowidDescriptor) +431OciRowidDescriptor +115 OciRowidDescriptor,+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 IsolationLevel isolationLevel) +176
发布于 2009-04-01 01:15:20
确保关闭自动提交。此外,还有一些语句不能批量发送(例如,DDL) -对于那些语句,您要么单独发送,要么使用execute_sql
https://stackoverflow.com/questions/703595
复制相似问题