| Предыдущий | Следующий |
| hrDatabaseNotFound | hrDatabaseInvalidPages |
hrDatabaseInvalidName
Что означает hrDatabaseInvalidName
hrDatabaseInvalidName (0xC80004B4) — недопустимое имя базы данных.
Это старый HRESULT-вариант результата ESE (Extensible Storage Engine, ESENT); в JET API соответствующее условие известно как JET_errDatabaseInvalidName.
Что проверить
- Зафиксируйте путь базы, attachment-состояние, JET_DBID и владеющий им JET_SESID; идентификаторы ESE действительны только в своём экземпляре и сеансе.
- Для detach/delete/schema операций проверьте открытые таблицы, другие сеансы и транзакции; при corruption/inconsistent сначала сохраните базу вместе с журналами для recovery.
Практический смысл и диагностика
- ESE отклонил database name по правилам database lifecycle API, а не как произвольное имя объекта.
- Отделите logical database name от filesystem path: сохраните полный path, basename, extension, длину и форму строки, реально переданную API.
- Проверьте вызов JetCreateDatabase, JetAttachDatabase, JetOpenDatabase, JetCloseDatabase или JetDetachDatabase и требования именно этой операции к имени/path.
- Сначала воспроизведите с коротким локальным корректным именем; это быстро отделяет name/path validation от доступа, существования файла и состояния database.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.