Thanks for the response. We tried what you suggested but unfortunately is not working. As you can see in the code below we have a transaction with 3 stored procedures calls inside. When the third procedure fails the rollback instruction is executed but is not reflected on the database. We are using Oracle 9i as our backend. Could you please let me know what could be wrong? Is important for us to have this working in our application.
Thanks
Public Function InsertCourseAndDivision(ByVal inSigAction As System.String, ByVal inSigMeaning As System.String, ByVal inKeyid As System.String, ByVal inKeyuserid As System.String) As Integer
Using da As ISOtrainDAL.Oracle.DatabaseSpecific.DataAccessAdapter = New ISOtrainDAL.Oracle.DatabaseSpecific.DataAccessAdapter()
Try
da.StartTransaction(IsolationLevel.ReadCommitted, "runTransactions")
Oracle.DatabaseSpecific.ActionProcedures.CourseInsert(CourseCode, TrainingType, SubjectCode, GroupType, CourseRev, Description, Frequency, DurationTime, IssueDate, RevisionFreq, EffectiveDate, CostCourse, Materials, GmpRef, PreparedBy, CompMethod, PreReq, NextRevision, CourseStatus, DocRefCode, DocRefRev, DocRefLib, Equivalency, Expenses, Tasks, SelfTrain, Compliance, ApprovalReq, Notification, MaxFails, ModificationId, ModificationName, TrnCode, inSigAction, inSigMeaning, inKeyid, inKeyuserid, Generic, da)
Oracle.DatabaseSpecific.ActionProcedures.CourseDivisionInsert("NA", CourseCode, ModificationId, ModificationName, TrnCode, inSigAction, inSigMeaning, inKeyid, inKeyuserid, da)
Oracle.DatabaseSpecific.ActionProcedures.CourseDivisionInsert("SQL", CourseCode, ModificationId, ModificationName, TrnCode, inSigAction, inSigMeaning, inKeyid, inKeyuserid, da)
da.Commit()
Return ISOtrainDAL.GenericDB.Response.Success
Catch ex As Exception
da.Rollback()
Return -2000
End Try
End Using
End Function