| Предыдущий | Следующий |
| hrInvalidColumnType | hrTaggedNotNULL |
hrColumnCannotIndex
Что означает hrColumnCannotIndex
hrColumnCannotIndex (0xC80005E9) — нельзя создать индекс по столбцу длинных значений.
Это старый HRESULT-вариант результата ESE (Extensible Storage Engine, ESENT); в JET API соответствующее условие известно как JET_errColumnCannotIndex.
Что проверить
- Проверьте актуальную схему: JET_COLUMNID, тип, максимальную длину, NULL-ограничения и tagged/multivalued флаги. После изменения схемы старые идентификаторы использовать нельзя.
- Для чтения/записи сохраните длину значения, размер буфера и, для многозначного поля, itagSequence. NULL, пустое значение и отсутствующий экземпляр различаются.
Практический смысл и диагностика
- Выбранный long-value либо другой неподдерживаемый column нельзя использовать как segment index key.
- `hrIndexInvalidDef` является общим отказом определения индекса; здесь причина конкретно в capability самого column.
- Индексируйте bounded surrogate или отдельное normalized searchable field вместо длинного payload.
- `hrColumn2ndSysMaint` означает другой schema conflict: таблице пытаются добавить второй engine-maintained autoincrement/version column.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
