¿Qué significa el código HRESULT 0xC80004B2 (hrDatabaseInUse)?

 
Anterior Siguiente
hrDatabaseDuplicate hrDatabaseNotFound

hrDatabaseInUse

Qué cambia este HRESULT

hrDatabaseInUse corresponde a la condición “la base conserva usuarios, cursores o handles abiertos que impiden trabajo exclusivo”.

El valor publicado es 0xC80004B2; la condición JET correspondiente es JET_errDatabaseInUse.

Objeto que debe conservarse

El diagnóstico se centra en archivo de base, attachment state, JET_DBID y ownership de sesión. No es equivalente a hrDatabaseLocked: ese valor indica que la base está bloqueada contra el modo de acceso solicitado. También se distingue de hrDatabaseDuplicate, donde la creación de base reutiliza una ruta o identidad que ya existe.

Aislamiento de la causa

  • Registra la primera llamada donde se cumple la condición concreta: la base conserva usuarios, cursores o handles abiertos que impiden trabajo exclusivo.
  • Conserva el contexto de archivo de base, attachment state, JET_DBID y ownership de sesión; para esta página las APIs/estructuras observadas en la referencia incluyen JET_DBID, JetCreateDatabase, JetAttachDatabase, JetOpenDatabase, JetCloseDatabase, JetDetachDatabase.
  • Antes del retry, resuelve primero ownership, path, permisos e integridad del archivo; después repite attach/open/detach según la API que falló.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.