Что означает код HRESULT 0xC800041E (hrNotInTransaction)?

 
Предыдущий Следующий
hrNullKeyDisallowed hrTooManyActiveUsers

hrNotInTransaction

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

hrNotInTransaction — Операция ESE требует активной транзакции, но текущий JET_SESID находится на нулевом уровне.

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

  • Зафиксируйте Jet API, JET_SESID и последние begin/commit/rollback события этого сеанса.
  • Проверьте, не завершилась ли транзакция раньше из-за ветки ошибки, callback или helper-функции, которая выполняет commit/rollback за вызывающий код.
  • Не начинайте транзакцию вслепую вокруг произвольного участка: сначала определите требуемую атомарную границу и владельца commit/rollback.

Как подтвердить исправление

Исправление подтверждается тем, что вызов выполняется внутри ожидаемой транзакции и каждый JetBeginTransaction имеет ровно одно штатное завершение.

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


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