Что означает код HRESULT 0xC800051B (hrDensityInvalid)?

 
Предыдущий Следующий
hrCannotRename hrTableNotEmpty

hrDensityInvalid

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

hrDensityInvalid (0xC800051B) — недопустимая плотность файла или индекса.

Это старый HRESULT-вариант результата ESE (Extensible Storage Engine, ESENT); в JET API соответствующее условие известно как JET_errDensityInvalid.

Что проверить

  • Зафиксируйте текущий индекс, его сегменты и флаги, а также фактически построенный ключ. Ошибка определения индекса отличается от ошибки позиции курсора или конфликтующего ключа.
  • После изменения индексируемых столбцов заново проверьте позицию курсора; для unique/primary индекса отдельно исследуйте ключ конфликтующей записи.

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

  • Заданная ESE table/index density находится вне поддерживаемого engine range.
  • `hrIndexInvalidDef` относится ко всему index definition; `hrDensityInvalid` изолирует именно density parameter.
  • Используйте documented density либо не задавайте override, позволяя ESE выбрать default.
  • Сохраните density value, API structure version, table/index type и defaulting logic непосредственно перед create/alter call.

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


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