| Anterior | Siguiente |
| hrNoCurrentRecord | hrKeyDuplicate |
hrRecordClusteredChanged
hrRecordClusteredChanged: qué cambia este hresult
En el flujo legacy ESE/Directory Service, hrRecordClusteredChanged describe que el update intenta cambiar una clustered key de una forma que el motor no puede aplicar in-place.
El valor publicado es 0xC8000644; la condición JET correspondiente es JET_errRecordClusteredChanged. No es equivalente a hrKeyDuplicate: ese valor indica que la clave insertada viola una restricción de unicidad del índice. También se distingue de hrNoCurrentRecord, donde el cursor no está posicionado sobre un registro válido.
Aislamiento de la causa
Registra la primera llamada donde se cumple la condición concreta: el update intenta cambiar una clustered key de una forma que el motor no puede aplicar in-place.
- Conserva el contexto de registro actual, clustered key y versión visible por el cursor; para esta página las APIs/estructuras observadas en la referencia incluyen
JetMove,JetSeek,JetGetBookmark,JetGotoBookmark,JetPrepareUpdate,JetUpdate. - 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: hrKeyDuplicate, hrNoCurrentRecord, hrRecordDeleted.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.