What does HRESULT 0xC80005E7 (hrInvalidColumnType) mean?

 
Previous Next
hrColumn2ndSysMaint hrColumnCannotIndex

hrInvalidColumnType

Locate the failure in the Jet call chain

hrInvalidColumnType means the JET_coltyp value or its option combination is unsupported for this column definition.

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

The key comparison is: hrInvalidBufferSize concerns data bytes for a valid type; this result rejects the schema type itself. The first useful observation is to capture JET_COLUMNDEF fields, structure size, code page, flags, and engine version. This evidence separates schema definition, row-size accounting, null semantics, multivalue selection, and stale column IDs.

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 JET_coltyp value or its option combination is unsupported for this column definition
First corrective directionchoose a documented column type and compatible flags before creating or altering the column

Null, zero-length, deletion, and missing multivalue instances are distinct states. Fixed, variable, tagged, and long-value columns consume row space differently.

Questions the logs must answer

  • Code-specific observation: capture JET_COLUMNDEF fields, structure size, code page, flags, and engine version.
  • the encoded value length, null/empty state, and itag sequence; associate it with this result rather than with a later generic exception.
  • the complete row-size contribution from fixed, variable, tagged, and long-value data; associate it with this result rather than with a later generic exception.
  • JET_COLUMNDEF fields, flags, code page, maximum length, and column ID origin.

Response and verification

  1. Freeze the failing request context and record 0xC80005E7, the Jet API name, and the current instance/session ownership.
  2. Verify the code-specific precondition: capture JET_COLUMNDEF fields, structure size, code page, flags, and engine version.
  3. Apply the targeted fix: choose a documented column type and compatible flags before creating or altering the column.
  4. Before retrying the operation, reconcile column metadata, row layout, and the exact stored value state.

Distinguishing signals

hrColumnTooBigthe value exceeds the maximum length declared or supported for that column type
hrNullInvalidthe target column definition requires a non-null value
hrColumnNotUpdatablethe selected column cannot be changed in the current schema or update mode

Actions that can hide or worsen the problem

  • Do not alter the column schema in place without a migration and rollback plan.
  • Do not collapse null, zero-length data, missing value, and tagged-value deletion into one state.

Technical references


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