| Предыдущий | Следующий |
| hrBadItagSequence | hrRecordNotFound |
hrCannotBeTagged
Что означает hrCannotBeTagged
hrCannotBeTagged (0xC80005F1) — столбцы AutoIncrement и Version не могут быть многозначными.
Это старый HRESULT-вариант результата ESE (Extensible Storage Engine, ESENT); в JET API соответствующее условие известно как JET_errCannotBeTagged.
Что проверить
- Проверьте актуальную схему: JET_COLUMNID, тип, максимальную длину, NULL-ограничения и tagged/multivalued флаги. После изменения схемы старые идентификаторы использовать нельзя.
- Для чтения/записи сохраните длину значения, размер буфера и, для многозначного поля, itagSequence. NULL, пустое значение и отсутствующий экземпляр различаются.
Практический смысл и диагностика
- Autoincrement либо version column был объявлен с tagged/multivalued storage semantics, которые для него не поддерживаются.
- `hrColumn2ndSysMaint` означает попытку добавить второй engine-maintained column; здесь отвергнут именно storage form.
- Определяйте engine-maintained columns в поддерживаемой fixed форме, а multivalued data храните отдельно.
- Если уже существует engine-maintained autoincrement/version column, отдельно проверьте и `hrColumn2ndSysMaint` как возможный schema conflict.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.