| Предыдущий | Следующий |
| STATEREPOSITORY_E_LOCKED_SHAREDCACHE_RETRY | STATEREPOSITORY_E_BUSY_TIMEOUT_EXCEEDED |
STATEREPOSITORY_E_TRANSACTION_REQUIRED
Что означает результат
STATEREPOSITORY_E_TRANSACTION_REQUIRED: Запрошенная операция State Repository должна выполняться внутри транзакции, но вызывающий код не предоставил действующий transaction context. Это нарушение API contract.
Что проверить
- Зафиксируйте метод и последовательность Begin/Commit/Rollback вокруг него.
- Проверьте, что transaction object относится к тому же connection/session, где выполняется операция.
- Не используйте context после commit или rollback и не переносите его между независимыми владельцами.
- Если API имеет read-only и transactional variants, убедитесь, что выбран правильный вариант для изменяющей операции.
Диагностика и исправление
Создайте транзакцию в требуемом scope, выполните операцию и завершите её штатным commit/rollback. Retry того же вызова вне транзакции всегда воспроизведёт результат.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.