| Предыдущий | Следующий |
| 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` устарел, уже закрыт либо относится к другой сессии или базе.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
