| Предыдущий | Следующий |
| 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.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
