Что означает код HRESULT 0xC8000645 (hrKeyDuplicate)?

 
Предыдущий Следующий
hrRecordClusteredChanged hrAlreadyPrepared

hrKeyDuplicate

Что означает hrKeyDuplicate

hrKeyDuplicate (0xC8000645) — ключ уже существует.

Это старый HRESULT-вариант результата ESE (расширяемый механизм хранения, ESENT); в JET API соответствующее условие известно как JET_errKeyDuplicate.

Практический смысл и диагностика

  • Вставка или обновление нарушил уникальный или первичный ключ индекса.
  • `hrIndexDuplicate` относится к дубликату имени схемы/индекса; `hrKeyDuplicate` — к данным ключа строки.
  • Рассматривайте это как результат конфликта параллельных изменений или целостности данных и используйте идемпотентный сценарий поиска с последующим обновлением вместо слепого повтора.
  • Зафиксируйте имя индекса, полностью закодированные сегменты ключа, обработку NULL, снимок транзакции и bookmark существующей конфликтующей строки.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.