| Previous | Next |
| hrColumnTooBig | hrColumnDuplicate |
hrColumnNotFound
Why this is more specific than the message text
hrColumnNotFound means the requested column name or ID is absent from the current table schema.
This is the legacy Directory Service backup/restore HRESULT form of JET_errColumnNotFound (0xC80005E3).
The key comparison is: hrBadColumnId is an invalid numeric identifier; this result commonly follows a name/schema lookup. The first useful observation is to record table identity, normalized name, column ID cache, schema version, and migration state. This evidence separates schema definition, row-size accounting, null semantics, multivalue selection, and stale column IDs.
Related ESE conditions
hrColumnLong | a supplied value exceeds the operation or column path intended for ordinary-sized data |
|---|---|
hrColumnNotUpdatable | the selected column cannot be changed in the current schema or update mode |
hrColumnIndexed | a column cannot be removed because one or more indexes reference it |
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 requested column name or ID is absent from the current table schema |
| First corrective direction | refresh schema metadata and fail clearly if the required migration has not been applied |
Column IDs are metadata scoped to a table and should be refreshed after schema changes. Null, zero-length, deletion, and missing multivalue instances are distinct states.
Data for a reproducible case
- Code-specific observation: record table identity, normalized name, column ID cache, schema version, and migration state.
- the complete row-size contribution from fixed, variable, tagged, and long-value data.
- JET_COLUMNDEF fields, flags, code page, maximum length, and column ID origin.
- the encoded value length, null/empty state, and itag sequence.
Corrective workflow
- Freeze the failing request context and record
0xC80005E3, the Jet API name, and the current instance/session ownership. - Verify the code-specific precondition: record table identity, normalized name, column ID cache, schema version, and migration state.
- Apply the targeted fix: refresh schema metadata and fail clearly if the required migration has not been applied.
- 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.