| Предыдущий | Следующий |
| XACT_E_NORESOURCE | XACT_E_NOTRANSACTION |
XACT_E_NOTCURRENT
Подготовленные данные больше не соответствуют версии, прочитанной в транзакции
XACT_E_NOTCURRENT сообщает о конфликте оптимистической конкурентности: диспетчер ресурсов обнаружил, что прочитанное или подготовленное транзакцией состояние изменилось до фиксации. Координатор не может исправить конфликт, поскольку его определяют правила проверки версии, времени, строки, объекта или кэша конкретного диспетчера.
Определите участника, отклонившего подготовку, и сохраните его собственные сведения о конфликте. Обычно нужно отказаться от транзакции, заново прочитать текущее состояние, повторно применить бизнес-решение и начать новую единицу работы. Повторная фиксация той же транзакции недопустима: старый набор чтения и предположения уже не прошли проверку.
Сведения о конфликте для безопасного повтора
- Ресурс и токен версии, использованные транзакцией.
- Текущая версия, обнаруженная во время подготовки.
- Конкурирующая операция, изменившая ресурс.
- Бизнес-правило слияния, отклонения или перерасчёта обновления.
Ссылки
- Microsoft MS-DTCO: голосование подготовки и решения об откате
- Microsoft MS-DTCO: политика голосования диспетчера ресурсов
- PostgreSQL: подготовка перед внешней координацией фиксации
Нужно найти другой код? Найти другой код состояния или ошибки.