Так что это проблема..net Откат транзакций Oracle Data Provider не работает
Мне нужно вставить в tableA и получить его новый идентификатор строки. После этого я должен вставить этот id в tableB. Я должен зафиксировать после вставки в tableA, чтобы при попытке вставить в tableB я не получу исключение внешнего ключа.
Теперь я понял, что если в функции, которая вставляет в таблицуB, возникает исключение, когда блок try-catch ловит исключение, то исходная вставка в таблицу будет отклонена. Это не так.
Я делаю ошибку где-то, но я не знаю, где. Есть ли способ выполнить то, что мне нужно здесь?
try
{
tableAinsert.ExecuteNonQuery();
transaction.Commit();
id= Int32.Parse(tableAinsert.Parameters["id"].Value.ToString());
if (vsType == "I")
{
tableBinsert(vsType, eventId, id);
}
}
catch (Exception err)
{
transaction.Rollback();
throw (err);
}