Что означает код HRESULT 0xC8000518 (hrTableInUse)?

 
Предыдущий Следующий
hrTableDuplicate hrObjectNotFound

hrTableInUse

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

hrTableInUse — Таблица ESE используется другой операцией или сеансом и сейчас не может быть получена в требуемом режиме.

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

  • Зафиксируйте имя таблицы, JET_TABLEID, сеанс-владелец и Jet API, которому требуется эксклюзивный доступ.
  • Проверьте открытые cursors, JetDupCursor, незавершённые schema changes и другие сеансы, удерживающие таблицу.
  • Не закрывайте все таблицы в процессе наугад: найдите конкретного владельца и завершите его жизненный цикл штатно, иначе можно скрыть гонку в управлении cursors.

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

Исправление подтверждается тем, что конфликтующий cursor закрывается до эксклюзивной операции, а повторный вызов проходит без принудительной перезагрузки ESE.

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


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