Что означает код HRESULT 0x80670011 (STATEREPOSTORY_E_NESTED_TRANSACTION_NOT_SUPPORTED)?

 
Предыдущий Следующий
STATEREPOSITORY_E_SERVICE_STOP_IN_PROGRESS STATEREPOSITORY_ERROR_CACHE_CORRUPTED

STATEREPOSTORY_E_NESTED_TRANSACTION_NOT_SUPPORTED

Что означает STATEREPOSTORY_E_NESTED_TRANSACTION_NOT_SUPPORTED

STATEREPOSTORY_E_NESTED_TRANSACTION_NOT_SUPPORTED (0x80670011) означает, что код пытается начать новую транзакцию State Repository, пока в том же контексте уже активна предыдущая. Вложенные транзакции этим контрактом не поддерживаются.

Что проверить

Проследите каждый begin до соответствующего commit или rollback. Частая причина — helper-функция начинает собственную транзакцию, не зная, что вызывающий код уже открыл одну, либо путь ошибки пропускает завершение предыдущей транзакции.

Повторный begin не создаёт savepoint автоматически. Переделайте границы ownership: либо внешняя функция владеет общей транзакцией, либо внутренняя вызывается вне неё. После ошибки обязательно завершайте текущую транзакцию предусмотренным способом до начала следующей.

Технические ссылки


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