Site icon EfmSoft

What does HRESULT 0xC80005E0 (hrNullInvalid) mean?

 
Previous Next
hrColumnDoesNotFit hrColumnIndexed

hrNullInvalid

The object and state that matter

hrNullInvalid means the target column definition requires a non-null value.

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

The key comparison is: hrNullKeyDisallowed is an index key rule; this code is the column nullability contract. The first useful observation is to record column flags, default value, prepared update type, and whether the caller omitted versus explicitly set null. This evidence separates schema definition, row-size accounting, null semantics, multivalue selection, and stale column IDs.

Minimum useful trace

How to avoid a false diagnosis

hrInvalidColumnTypethe JET_coltyp value or its option combination is unsupported for this column definition
hrRecordTooBigthe assembled row exceeds the record-size budget after fixed, variable, tagged, and key overhead are considered
hrColumnTooBigthe value exceeds the maximum length declared or supported for that column type

The ESE objects in play

Diagnostic layercolumn schema, row-size accounting, tagged/multivalued storage, and column identifiers
Typical API surfaceJetAddColumn, JetDeleteColumn, JetSetColumn, JetRetrieveColumn, and JET_COLUMNDEF
Code-specific conditionthe target column definition requires a non-null value
First corrective directionsupply a valid value or change the schema through a migration that handles existing rows

Fixed, variable, tagged, and long-value columns consume row space differently. Column IDs are metadata scoped to a table and should be refreshed after schema changes.

Safe recovery sequence

  1. Freeze the failing request context and record 0xC80005E0, the Jet API name, and the current instance/session ownership.
  2. Verify the code-specific precondition: record column flags, default value, prepared update type, and whether the caller omitted versus explicitly set null.
  3. Apply the targeted fix: supply a valid value or change the schema through a migration that handles existing rows.
  4. Before retrying the operation, reconcile column metadata, row layout, and the exact stored value state.

Actions that can hide or worsen the problem

Technical references


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

Exit mobile version