What does HRESULT 0xC80005EE (hrBadItagSequence) mean?

 
Previous Next
hrBadColumnId hrCannotBeTagged

hrBadItagSequence

Locate the failure in the Jet call chain

hrBadItagSequence means the requested multivalued-column instance number is invalid for the current row.

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

The key comparison is: hrTaggedNotNULL concerns tagged null semantics; this code is about selecting a particular value instance. The first useful observation is to record itagSequence, existing value count, retrieval/set grbits, and concurrent row changes. 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 requested multivalued-column instance number is invalid for the current row
First corrective directionenumerate current instances and apply insertion/replacement/deletion rules with checked indices

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: record itagSequence, existing value count, retrieval/set grbits, and concurrent row changes.
  • 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.
  • the encoded value length, null/empty state, and itag sequence.

Response and verification

  1. Freeze the failing request context and record 0xC80005EE, the Jet API name, and the current instance/session ownership.
  2. Verify the code-specific precondition: record itagSequence, existing value count, retrieval/set grbits, and concurrent row changes.
  3. Apply the targeted fix: enumerate current instances and apply insertion/replacement/deletion rules with checked indices.
  4. Before retrying the operation, reconcile column metadata, row layout, and the exact stored value state.

Distinguishing signals

hrBadColumnIdthe numeric JET_COLUMNID is invalid for the current table schema
hrCannotBeTaggedan autoincrement or version column was defined with tagged or multivalued semantics
hrTooManyColumnsa table definition has reached the supported number of columns

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.