What does HRESULT 0xC80005DF (hrColumnDoesNotFit) mean?

 
Previous Next
hrColumnLong hrNullInvalid

hrColumnDoesNotFit

The object and state that matter

hrColumnDoesNotFit means the field update cannot fit in the current record layout and remaining row budget.

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

The key comparison is: hrRecordTooBig describes the assembled record; this code points to the attempted column placement. The first useful observation is to capture current row size, fixed/variable/tagged columns, null bitmap, multivalue overhead, and new value bytes. This evidence separates schema definition, row-size accounting, null semantics, multivalue selection, and stale column IDs.

Minimum useful trace

  • Code-specific observation: capture current row size, fixed/variable/tagged columns, null bitmap, multivalue overhead, and new value bytes.
  • 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.

How to avoid a false diagnosis

hrColumnCannotIndexthe selected long-value or otherwise unsupported column cannot participate in an index key
hrColumnDuplicatecolumn creation reused a name already defined in the table
hrColumn2ndSysMaintthe table is being given a second engine-maintained autoincrement or version column

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 field update cannot fit in the current record layout and remaining row budget
First corrective directionreduce or relocate the value and test the complete row against the schema budget

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 0xC80005DF, the Jet API name, and the current instance/session ownership.
  2. Verify the code-specific precondition: capture current row size, fixed/variable/tagged columns, null bitmap, multivalue overhead, and new value bytes.
  3. Apply the targeted fix: reduce or relocate the value and test the complete row against the schema budget.
  4. Before retrying the operation, reconcile column metadata, row layout, and the exact stored value state.

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.