¿Qué significa el código HRESULT 0xC8000416 (hrColumnInUse)?

 
Anterior Siguiente
hrInvalidBookmark hrInvalidBufferSize

hrColumnInUse

Contexto del código: hrColumnInUse

hrColumnInUse indica que una modificación de schema afecta a una columna que todavía tiene dependencias activas. El valor publicado es 0xC8000416; la condición JET correspondiente es JET_errColumnInUse.

No es equivalente a hrColumnIndexed: ese valor indica que no puede eliminarse o cambiarse la columna porque uno o más índices la referencian. También se distingue de hrColumnDuplicate, donde se intenta crear una columna con un nombre que ya existe en la tabla.

Validación antes del retry

  • Registra la primera llamada donde se cumple la condición concreta: una modificación de schema afecta a una columna que todavía tiene dependencias activas.
  • 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.
  • 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.

La aceptación de la corrección consiste en repetir la misma API con el mismo tipo de objeto y comprobar que hrColumnInUse ya no aparece, sin perder el estado válido del cursor, archivo o backup.

Referencias técnicas


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