ciao, il mio problema è che le transazioni non funzionano utilizzando il provider oledb per le connessioni ai file su as/400.
Ho provato a settare tutti i tipi di IsolationLevel enumerati nella classe System.Data.IsolationLevel per il metodo BeginTransaction() di OleDbTransaction, ma niente.. il rollback non ne vuole proprio sapere di funzionare e mi scrive sui file (tabelle).
Credo di scrivere correttamente il codice.. vi faccio vedere come faccio:
Nessun errore.. ma quando và in eccezione il record viene scritto ugualmente..codice:...... try{ OleDbTransaction transaction = null; cmd.CommandText = "INSERT INTO LIB.FILE (CAMPO1,CAMPO2) VALUES('ABC','DEF')"; cn.Open(); cmd.Connection = cn; trasaction = cn.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted); cmd.Transaction = trasaction; cmd.ExequteNonQuery(); //qui faccio partire una eccezione transaction.Commit(); } catch(Exception ex) { MessageBox.Show(ex.Message.ToString()); transaction.RollBack(); } .......
Qualche esperienza in merito?
Ciao![]()


Rispondi quotando

