What does HRESULT 0x80040E0A (DB_E_NOTAREFERENCECOLUMN) mean?

 
Previous Next
DB_SEC_E_PERMISSIONDENIED DB_E_LIMITREJECTED

DB_E_NOTAREFERENCECOLUMN

Meaning

Windows documents DB_E_NOTAREFERENCECOLUMN as “Column does not contain bookmarks or chapters”. Here, a consumer asks OLE DB to treat an ordinary column as a bookmark or chapter reference.

Relevant OLE DB contract

This result must be interpreted against this contract: OLE DB rowsets own HROW values, fetch position, granted properties and visibility rules; row handles, bookmarks, update state and navigation capabilities remain valid only under the lifetime and generation that produced them.

Start with the current rowset instance, its granted properties and the exact row or position token used by the consumer when investigating this result.

Specific conditions that produce the result

  • Cause 1: the selected DBID names a regular data column.
  • Cause 2: the bookmark column is absent because the required rowset property was not enabled.
  • Cause 3: the chapter identifier was taken from different metadata than the active rowset.

Evidence to collect before changing the system

  • Evidence 1: the requested column DBID and ordinal.
  • Evidence 2: IColumnsInfo metadata and flags for bookmark or chapter semantics.
  • Evidence 3: rowset properties controlling bookmark and chapter support.

Corrective actions

  • Action 1: select the actual bookmark or chapter column reported by metadata.
  • Action 2: request the required rowset capability before creating the rowset.
  • Action 3: disable reference-column operations when the provider does not expose them.

Retry and recovery policy

Retry rule: retry after selecting a column that the current rowset marks as a reference column.

Practical incident

A generic navigator assumes column zero is always a bookmark even when bookmarks were not requested; checking column flags prevents it.

Difference from related HRESULT values

DB_E_BADCOLUMNID means the column identifier is invalid, while DB_E_NOTAREFERENCECOLUMN means the column exists but lacks bookmark or chapter semantics.

Official Microsoft references


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