| Предыдущий | Следующий |
| XACT_E_WRONGSTATE | XACT_E_XTIONEXISTS |
XACT_E_WRONGUOW
Завершается не та ветвь, которую ожидает ресурс
XACT_E_WRONGUOW означает, что идентификатор единицы работы, переданный диспетчеру ресурсов, не соответствует ветви транзакции, связанной с текущим зачислением или локальным состоянием. Это защищает постоянную работу одной транзакции от случайного завершения, восстановления или изменения другой транзакцией.
Сопоставляйте идентификатор распределённой транзакции, идентификатор ветви диспетчера ресурсов и локальный дескриптор транзакции на каждой границе. Ошибки пула могут вернуть соединение, всё ещё связанное со старой единицей работы, а код восстановления может загрузить не ту подготовленную запись после усечения идентификатора или изменения кодировки. Не подставляйте идентификатор текущей ambient-транзакции; восстановите точный идентификатор, сохранённый вместе с ветвью, либо выполните откат через поддерживаемую процедуру восстановления диспетчера ресурсов.
Идентификаторы для побайтового сравнения
- Глобальный идентификатор транзакции или единицы работы.
- Идентификаторы ветви диспетчера ресурсов и зачисления.
- Локальный дескриптор транзакции базы данных, очереди или журнала.
- Сериализованная запись восстановления до и после передачи или хранения.
Ссылки
- Microsoft MS-DTCO: уникальные идентификаторы транзакций
- Microsoft: повторное зачисление конкретной подготовленной транзакции
- The Open Group: глобальные идентификаторы и идентификаторы ветвей транзакций
Нужно найти другой код? Найти другой код состояния или ошибки.