OdbcConnection.EnlistDistributedTransaction(ITransaction) Метод

Определение

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

public:
 void EnlistDistributedTransaction(System::EnterpriseServices::ITransaction ^ transaction);
public void EnlistDistributedTransaction (System.EnterpriseServices.ITransaction transaction);
member this.EnlistDistributedTransaction : System.EnterpriseServices.ITransaction -> unit
Public Sub EnlistDistributedTransaction (transaction As ITransaction)

Параметры

transaction
ITransaction

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

Комментарии

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

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

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

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