public static void RunOracleTransaction(string myConnString) {
using (OracleConnection myConnection = new OracleConnection(myConnString)) {
myConnection.Open();
// Start a local transaction
OracleTransaction myTrans = myConnection.BeginTransaction(System.Data.IsolationLevel.ReadCommitted);
OracleCommand myCommand = myConnection.CreateCommand();
try {
myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(52, 'DEVELOPMENT')";
myCommand.ExecuteNonQuery();
myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(62, 'PRODUCTION')";
myCommand.ExecuteNonQuery();
myTrans.Commit();
Console.WriteLine("Both records are written to database.");
}
catch (Exception e) {
myTrans.Rollback();
Console.WriteLine(e.ToString());
Console.WriteLine("Neither record was written to database.");
}
finally {
myCommand.Dispose();
myTrans.Dispose();
}
}
}