| Previous | Next |
| hrKeyIsMade | hrBadItagSequence |
hrBadColumnId
Interpretation in ESE terms
hrBadColumnId means the numeric JET_COLUMNID is invalid for the current table schema.
This is the legacy Directory Service backup/restore HRESULT form of JET_errBadColumnId (0xC80005ED).
The key comparison is: hrColumnNotFound often follows a name lookup; this result points to a stale or foreign numeric ID. The first useful observation is to trace where the ID was obtained, schema changes, table identity, and cache invalidation. This evidence separates schema definition, row-size accounting, null semantics, multivalue selection, and stale column IDs.
The ESE objects in play
| Diagnostic layer | column schema, row-size accounting, tagged/multivalued storage, and column identifiers |
|---|---|
| Typical API surface | JetAddColumn, JetDeleteColumn, JetSetColumn, JetRetrieveColumn, and JET_COLUMNDEF |
| Code-specific condition | the numeric JET_COLUMNID is invalid for the current table schema |
| First corrective direction | requery column metadata after schema changes and scope cached IDs to the exact table definition |
Null, zero-length, deletion, and missing multivalue instances are distinct states. Fixed, variable, tagged, and long-value columns consume row space differently.
Comparison with adjacent failures
hrTooManyColumns | a table definition has reached the supported number of columns |
|---|---|
hrBadItagSequence | the requested multivalued-column instance number is invalid for the current row |
hrTaggedNotNULL | a tagged-column operation used null semantics that are not valid for this representation or engine version |
What to capture before retrying
- Code-specific observation: trace where the ID was obtained, schema changes, table identity, and cache invalidation.
- JET_COLUMNDEF fields, flags, code page, maximum length, and column ID origin.
- the encoded value length, null/empty state, and itag sequence.
- the complete row-size contribution from fixed, variable, tagged, and long-value data.
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.
Operational response
- Freeze the failing request context and record
0xC80005ED, the Jet API name, and the current instance/session ownership. - Verify the code-specific precondition: trace where the ID was obtained, schema changes, table identity, and cache invalidation.
- Apply the targeted fix: requery column metadata after schema changes and scope cached IDs to the exact table definition.
- Before retrying the operation, reconcile column metadata, row layout, and the exact stored value state.
Technical references
Looking for a different code? Search another status or error code.
