Site icon EfmSoft

Что означает код HRESULT 0xC800044F (hrTransTooDeep)?

 
Предыдущий Следующий
hrWriteConflict hrInvalidSesid

hrTransTooDeep

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

hrTransTooDeep означает, что Extensible Storage Engine (ESE) превысил поддерживаемую глубину вложенных transaction save points в одной session. Частая причина — helper-функции, каждая из которых безусловно начинает собственную transaction внутри caller-owned transaction.

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

  • Сопоставьте JetBeginTransaction, JetCommitTransaction и JetRollback по одной ESE session и посчитайте фактическую nesting depth.
  • Определите владельца внешней transaction и не открывайте helper-level save point там, где функция должна работать внутри уже существующей транзакции.
  • Отличайте этот код от hrNotInTransaction: там transaction отсутствует, а здесь уровней уже слишком много.

Как подтвердить правильную обработку

Исправление подтверждается ограниченной глубиной save points и корректно сбалансированными Begin/Commit/Rollback без hrTransTooDeep.

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


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

Exit mobile version