¿Qué significa el código HRESULT 0xC8000645 (hrKeyDuplicate)?

 
Anterior Siguiente
hrRecordClusteredChanged hrAlreadyPrepared

hrKeyDuplicate

Qué significa hrKeyDuplicate

El resultado hrKeyDuplicate aparece cuando la clave insertada viola una restricción de unicidad del índice. El valor publicado es 0xC8000645; la condición JET correspondiente es JET_errKeyDuplicate.

Diferencia frente a resultados vecinos

No es equivalente a hrIndexDuplicate: ese valor indica que la creación de índice reutiliza un nombre ya existente en la tabla. También se distingue de hrIndexNotFound, donde el índice solicitado no existe en la tabla o no puede seleccionarse por ese nombre.

Validación antes del retry

  1. Registra la primera llamada donde se cumple la condición concreta: la clave insertada viola una restricción de unicidad del índice.
  2. Conserva el contexto de definición de índice, segmentos de key y posición de búsqueda; para esta página las APIs/estructuras observadas en la referencia incluyen JetCreateIndex, JetDeleteIndex, JetSetCurrentIndex, JetMakeKey, JetSeek, JetSetIndexRange.
  3. 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.

Referencias técnicas


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