| Предыдущий | Следующий |
| ERROR_RESOURCEMANAGER_READ_ONLY | ERROR_TRANSACTION_SUPERIOR_EXISTS |
ERROR_TRANSACTION_NOT_JOINED
Это состояние относится к связи между диспетчером ресурсов (RM) и транзакцией. KTM не включил этот RM в транзакцию успешно, однако RM попытался выполнить операцию подготовки. Одного дескриптора транзакции недостаточно: KTM требуется объект включения, связывающий RM, транзакцию, маску уведомлений и необязательный ключ включения.
Что должна обеспечить настройка
- Создайте или откройте правильные объекты транзакции и диспетчера ресурсов.
- Создайте включение с использованием дескриптора RM и дескриптора транзакции, относящихся к одной предполагаемой единице работы.
- Сохраните полученный дескриптор включения и используйте его для операций на этапах включения.
- Проверьте исходный
GetLastError, возвращённый при создании включения, вместо продолжения работы после неудачи.
Не сводите эту ошибку к ERROR_TRANSACTION_NOT_ENLISTED. Данная ошибка конкретно описывает попытку подготовки транзакции, к которой RM так и не был успешно присоединён; вторая обозначает более общее отсутствие включения для операции.
См. CreateEnlistment, функции включения KTM и справочник по маске уведомлений.
Независимое техническое объяснение связи между диспетчером транзакций, диспетчером ресурсов и дескриптором включения приведено во введении NCC Group в KTM.
Нужно найти другой код? Найти другой код состояния или ошибки.
