Что означает код HRESULT 0xC800057C (hrIndexNotFound)?

 
Предыдущий Следующий
hrIndexDuplicate hrIndexMustStay

hrIndexNotFound

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

hrIndexNotFound (0xC800057C) — индекс не существует.

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

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

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

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

  • Запрошенное имя ESE index корректно синтаксически, но такого index в table нет.
  • `hrNoCurrentIndex` означает отсутствие usable current index у cursor; `hrIndexNotFound` — конкретный named lookup miss.
  • `hrKeyDuplicate` возникает при data update, нарушающем unique key, и не объясняет отсутствие schema object.
  • Проверьте schema/migration вокруг `JetCreateIndex`, `JetDeleteIndex`, `JetSetCurrentIndex`, `JetMakeKey`, `JetSeek`, `JetSetIndexRange`.

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


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