Что означает код HRESULT 0x8004D013 (XACT_E_XTIONEXISTS)?

 
Предыдущий Следующий
XACT_E_WRONGUOW XACT_E_NOIMPORTOBJECT

XACT_E_XTIONEXISTS

Повторное подключение обычно указывает на повторно использованное состояние поставщика или соединения

XACT_E_XTIONEXISTS означает попытку создать подключение к транзакции там, где одно уже активно. Это бывает, когда автоматически подключающийся поставщик также подключают вручную, инициализация выполняется дважды или соединение из пула сохраняет связь с внешней транзакцией.

Определите слой, владеющий подключением. Если поставщик автоматически присоединяется к внешним транзакциям, удалите лишний явный вызов enlist, а не игнорируйте HRESULT. Для собственных диспетчеров ресурсов индексируйте подключения одновременно по идентификатору транзакции и экземпляру ресурса и делайте инициализацию идемпотентной. Несколько логических операций могут использовать одно подключение, но не должны создавать конкурирующие протокольные объекты для одной ветви.

Признаки повторного подключения

  • Настройки автоматического и явного enlistment.
  • История выдачи и сброса соединения в пуле.
  • Идентификатор транзакции, уже сопоставленный экземпляру ресурса.
  • Стеки исходного и повторного запросов подключения.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.