Управляемый драйвер ODP.Net, игнорирующий откат транзакции

Я заменяю наш старый неуправляемый драйвер ODP на управляемый драйвер Oracle и обнаруживаю, что мои транзакции фиксируются, даже если откат явно или не зафиксирован.

var conn = new OracleConnection(...);
conn.Open();
var trans = conn.BeginTransaction();
var cmd = conn.CreateCommand();
cmd.ExecuteNonQuery(...);
trans.Rollback();
conn.Close();

В этом случае моя вставка фиксируется, когда код перестает работать.

Что мне не хватает?

1 ответ

Попробуйте указать открытый перевод для команды после создания -

var cmd = conn.CreateCommand();
cmd.Transaction = trans;        // <----
Другие вопросы по тегам