OleDbConnection.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 для включения в распределенную транзакцию. Так как он добавляет подключение в экземпляр, Transaction использует преимущества функций, доступных в System.Transactions пространстве имен для управления распределенными транзакциями, что делает его предпочтительнее EnlistDistributedTransaction для этой цели. Дополнительные сведения см. в разделе "Распределенные транзакции".
Вы можете продолжить зачисление в существующую распределенную транзакцию с помощью EnlistDistributedTransaction метода, если автозапись отключена. При включении в существующую распределенную транзакцию убедитесь, что, если транзакция зафиксирована или откатена, изменения, внесенные кодом в источнике данных, также фиксируются или откатываются. Дополнительные сведения о распределенных транзакциях см. в разделе "Распределенные транзакции".
EnlistDistributedTransactionвозвращает исключение, если OleDbConnection транзакция уже запущена.BeginTransaction Однако если транзакция является локальной транзакцией, запущенной в источнике данных (например, путем явного выполнения инструкции BEGIN TRANSACTION с помощью OleDbCommand объекта), EnlistDistributedTransaction откатывает локальную транзакцию и запрашивает в существующей распределенной транзакции. Вы не получите уведомление о том, что локальная транзакция была откатена и отвечает за управление любыми локальными транзакциями, не запущенными.BeginTransaction