Прочитать на английском

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


OracleConnection.EnlistDistributedTransaction(ITransaction) Метод

Определение

Выполняет присоединение указанной транзакции как распределенной транзакции.

public void EnlistDistributedTransaction(System.EnterpriseServices.ITransaction distributedTransaction);

Параметры

distributedTransaction
ITransaction

Ссылка на существующий объект ITransaction, к которому выполняется присоединение.

Комментарии

В ADO.NET 2.0 появилась поддержка использования метода для зачисления EnlistTransaction в распределенную транзакцию. Так как он зачисливает соединение в Transaction экземпляр, EnlistTransaction использует функциональные возможности, доступные в System.Transactions пространстве имен для управления распределенными транзакциями, поэтому для этой цели предпочтительнее использовать EnlistDistributedTransaction . Дополнительные сведения см. в разделе Распределенные транзакции.

Вы можете продолжить зачисление в существующую распределенную транзакцию с помощью

EnlistDistributedTransaction метод , если автоматическое зачисление отключено. Зачисление в существующую распределенную транзакцию гарантирует, что при фиксации или откате транзакции изменения, внесенные кодом в источнике данных, также фиксируются или откатываются.

EnlistDistributedTransaction возвращает исключение, OracleConnection если объект уже начал транзакцию с помощью BeginTransaction. Однако если транзакция является локальной транзакцией, запущенной в источнике данных (например, путем явного выполнения инструкции BEGIN TRANSACTION с помощью OracleCommand объекта ), EnlistDistributedTransaction выполняет откат локальной транзакции и заверяет ее в соответствии с запросом. Вы не получите уведомление о том, что локальная транзакция была откатена, и отвечаете за управление любыми локальными транзакциями, которые не были запущены с помощью BeginTransaction.

Применяется к

Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1