¿Qué significa el código HRESULT 0xC80005E9 (hrColumnCannotIndex)?

 
Anterior Siguiente
hrInvalidColumnType hrTaggedNotNULL

hrColumnCannotIndex

hrColumnCannotIndex: cómo leer el resultado

En el flujo legacy ESE/Directory Service, hrColumnCannotIndex describe que la columna seleccionada no puede formar parte de la clave de un índice.

El valor publicado es 0xC80005E9; la condición JET correspondiente es JET_errColumnCannotIndex. No es equivalente a hrIndexInvalidDef: ese valor indica que la definición de índice contiene flags, segmentos u opciones incompatibles. También se distingue de hrColumn2ndSysMaint, donde se intenta definir una segunda columna mantenida automáticamente por el motor, como autoincrement o version.

Diagnóstico diferencial

Registra la primera llamada donde se cumple la condición concreta: la columna seleccionada no puede formar parte de la clave de un índice.

  1. Conserva el contexto de schema de columna, layout de fila y valores fixed/variable/tagged; para esta página las APIs/estructuras observadas en la referencia incluyen JetAddColumn, JetDeleteColumn, JetSetColumn, JetRetrieveColumn, JET_COLUMNDEF.
  2. Antes del retry, corrige la definición o la posición del cursor con una migración/transacción controlada, sin alterar schema a ciegas.

Códigos cercanos que conviene separar en logs: hrIndexInvalidDef, hrColumn2ndSysMaint, hrColumnDoesNotFit.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.