2009-04-01 10 views
0

私たちは現在、同じWebサイトでiBatisとnHibernateを使用しています。デバッグ.Net OracleClientエラー

System.Data.OracleClient.OracleException:ORA-01453:SETトランザクションは

スタックトレースが最後に表示されるトランザクションの最初のステートメントでなければなりませんが、特定のページに保存を実行すると、次のエラーがスローされますこの質問のこれはこのページでのみ発生します(少なくともこれまで見たことがあります)。

このコードは、現在アクティブなトランザクションがないことを確認した後、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挙動、ブールneedRowid、OciRowidDescriptor & rowidDescriptor、ArrayListの& resultParameterOrdinals) System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(ブールneedRowid、OciRowidDescriptor & rowidDescriptor)431 System.Data.OracleClient.OracleCommand.ExecuteNonQuery()115 System.Data.OracleClient.OracleTransaction..ctor(OracleConnectionの接続990 、IsolationLevel isolationLevel)+377 System.Data.Oracl eClient.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

答えて

0

は、自動コミットをオフにしてください。また、バッチで送信できない文(DDLなど)もあります。別々に送信するか、execute_sqlを使用する必要があります。