Что означает код HRESULT 0xC8000519 (hrObjectNotFound)?

 
Предыдущий Следующий
hrTableInUse hrCannotRename

hrObjectNotFound

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

hrObjectNotFound (0xC8000519) — таблица или объект не существует.

Это старый HRESULT-вариант результата ESE (расширяемый механизм хранения, ESENT); в JET API соответствующее условие известно как JET_errObjectNotFound.

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

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

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

  • Корректное имя объекта не найдено в выбранной базе данных или в области конкретной таблицы.
  • Отличайте от `hrInvalidObject`: там объект или handle существует, но не подходит для запрошенной операции.
  • Обновите metadata схемы и завершите migration/query явной ошибкой вместо подстановки другого объекта с похожим именем.
  • `hrInvalidTableId` означает, что `JET_TABLEID` устарел, уже закрыт либо относится к другой сессии или базе.

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


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