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


Соединения в ADOMD.NET — выполнение транзакций

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

Примечание

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

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

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

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

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

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

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

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

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

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