What does HRESULT 0xC80004B4 (hrDatabaseInvalidName) mean?

 
Previous Next
hrDatabaseNotFound hrDatabaseInvalidPages

hrDatabaseInvalidName

Locate the failure in the Jet call chain

hrDatabaseInvalidName means the database-specific name fails rules beyond a generic object name check.

This is the legacy Directory Service backup/restore HRESULT form of JET_errDatabaseInvalidName (0xC80004B4).

The key comparison is: hrInvalidFilename isolates a filename; this code is reported by database lifecycle APIs. The first useful observation is to record full path, base filename, extension, length, and whether the API expects a path or logical name. This evidence separates file identity, attachment, open-handle ownership, lock state, and structural validity.

The ESE objects in play

Diagnostic layerdatabase file, attachment state, JET_DBID ownership, and database lifecycle
Typical API surfaceJetCreateDatabase, JetAttachDatabase, JetOpenDatabase, JetCloseDatabase, and JetDetachDatabase
Code-specific conditionthe database-specific name fails rules beyond a generic object name check
First corrective directionconstruct the database name in the exact form required by the chosen create/open/attach call

Creating an empty file is not a valid substitute for a missing or corrupted ESE database. Attachment is an instance relationship; opening a database returns a session-scoped database ID.

Questions the logs must answer

  • Code-specific observation: record full path, base filename, extension, length, and whether the API expects a path or logical name.
  • the canonical database path and file identity; associate it with this result rather than with a later generic exception.
  • the instance attachment list plus every session-scoped JET_DBID; associate it with this result rather than with a later generic exception.
  • open tables, transactions, maintenance, and recovery activity using the database.

Response and verification

  1. Freeze the failing request context and record 0xC80004B4, the Jet API name, and the current instance/session ownership.
  2. Verify the code-specific precondition: record full path, base filename, extension, length, and whether the API expects a path or logical name.
  3. Apply the targeted fix: construct the database name in the exact form required by the chosen create/open/attach call.
  4. Before retrying the operation, reconcile attachment, open/closed state, file identity, and database header status.

Distinguishing signals

hrDatabaseInUsethe database still has open users or handles that block detach, delete, or exclusive work
hrDatabaseInvalidPagesthe requested initial or maximum database size is not a valid page count
hrDatabaseDuplicatedatabase creation selected a path or identity that already exists

Actions that can hide or worsen the problem

  • Do not create an empty database at the expected path as a substitute for the missing or damaged artifact.
  • Do not force detach or delete while owners and recovery state are unknown.

Technical references


Looking for a different code? Search another status or error code.