Что означает код HRESULT 0xC8000520 (hrIllegalOperation)?

 
Предыдущий Следующий
hrTooManyOpenTables hrObjectDuplicate

hrIllegalOperation

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

hrIllegalOperation (0xC8000520) — операция не поддерживается для таблиц.

Это старый HRESULT-вариант результата ESE (Extensible Storage Engine, ESENT); в JET API соответствующее условие известно как JET_errIllegalOperation.

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

  • Зафиксируйте базу, JET_TABLEID и владеющий JET_SESID. JET_TABLEID — сеансовый курсор, поэтому его нельзя переносить между закрытиями или другими сеансами.
  • При изменении схемы проверьте открытые курсоры, транзакции и зависимости индексов/столбцов; структурная операция может требовать исключительного доступа.

Практический смысл и диагностика

  • Выбранный ESE API не поддерживается для текущего table kind, cursor mode или object state.
  • hrInvalidOperation — более общий state error; hrIllegalOperation относится к недопустимой table/object operation в данном ESE context.
  • hrDensityInvalid — отдельное schema/configuration состояние для неподдерживаемого table/index density, а не общий illegal operation.
  • Выберите API, разрешённый для конкретного object type/cursor strategy, вместо попытки принудительно перевести table в другое состояние.

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


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