| Предыдущий | Следующий |
| hrDatabaseDuplicate | hrDatabaseNotFound |
hrDatabaseInUse
Что означает hrDatabaseInUse
hrDatabaseInUse (0xC80004B2) — ESE сообщает, что база данных всё ещё используется и поэтому не может быть detached, удалена или переведена в другое эксклюзивное состояние.
Что проверить
- Сохраните путь базы, JET_DBID и JET_SESID, в которых она открыта, а также список открытых таблиц и активных транзакций.
- Проверьте баланс JetAttachDatabase/JetOpenDatabase/JetCloseDatabase/JetDetachDatabase во всех потоках и error paths.
- Не смешивайте этот код с corruption или file locking: сначала закройте реальные ESE references, которые удерживают базу.
Как подтвердить исправление
После закрытия таблиц, database handles и сеансов повторная эксклюзивная операция должна пройти без hrDatabaseInUse.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.