Поделиться через


Выполнение транзакций в ADOMD.NET

Объект AdomdTransaction используется в ADOMD.NET для управления контекстом транзакции для данного объекта AdomdConnection. Эта функциональность позволяет выполнять несколько команд в одном контексте. Каждая команда читает одни и те же данные, при этом сами эти данные между выполнением каждой команды не изменяются.

ПримечаниеПримечание

Класс AdomdTransaction является реализацией интерфейса System.Data.IDbTransaction, частью библиотеки классов платформы Microsoft .NET Framework и реализуется всеми поставщиками данных платформы .NET Framework, поддерживающими транзакции.

Объект AdomdTransaction поддерживает только транзакции READ COMMITTED, в которых во время чтения данных устанавливаются совмещаемые блокировки для предотвращения чтения «грязных» данных.

Объект AdomdConnection используется для запуска транзакции. После запуска транзакции команды, для которых требуется использовать эту транзакцию, выполняются по соединению, которое ее запустило. После завершения использования транзакции для нее можно либо выполнить откат, либо зафиксировать.

Запуск транзакции

Экземпляр объекта AdomdTransaction создается путем вызова метода BeginTransaction объекта AdomdConnection. Следующий пример демонстрирует, как создать экземпляр объекта AdomdTransaction.

Dim objTransaction As AdomdTransaction = objConnection.BeginTransaction()
AdomdTransaction objTransaction = objConnection.BeginTransaction();

Откат транзакции

Чтобы можно было выполнить откат существующей, незавершенной транзакции, вызывается метод Rollback объекта AdomdTransaction. При вызове этого метода для существующей, завершенной транзакции возникает исключение.

Фиксация транзакции

После того как метод BeginTransaction был вызван для запуска транзакции, чтобы завершить эту транзакцию, необходимо вызвать метод Commit объекта AdomdTransaction. При вызове этого метода для существующей, завершенной транзакции возникает исключение.

См. также

Справочник

Установление соединений в ADOMD.NET

Программирование клиента ADOMD.NET