Oracle и именование транзакций - PullRequest
2 голосов
/ 24 июля 2011

Я довольно давно программирую на SQL Server и C #, и у меня есть код, который мне нужно изменить для работы с Oracle:

SqlConnection connection = (SqlConnection)CreateDBConnection();
IDbTransaction transaction = connection.BeginTransaction(level, "name");

Проблема в том, что если я использую OracleConnection вместо SqlConnection, то невозможно указать имя для моей транзакции. Я знаю, что синтаксис в Oracle допускает именованные транзакции, но, похоже, я не могу найти способ сделать это с помощью кода .net.

1 Ответ

0 голосов
/ 15 августа 2011

Вы не можете установить название транзакции. Но можно указать имя для SAVEPOINT.

OracleConnection oracleConnection = new OracleConnection((string.Format("Data Source={0};User Id={1};Password={2}", DATABASE, USERNAME, PASSWORD));
oracleConnection.Open();
OracleCommand oracleCommand = oracleConnection.CreateCommand();
oracleConnection.BeginTransaction();
OracleTransaction oracleTransaction = oracleCommand.Transaction;
oracleTransaction.Save("name");
//...
oracleTransaction.Rollback("name");
...