Что означает код HRESULT 0xC80005DD (hrColumnLong)?

 
Предыдущий Следующий
hrTooManyOpenIndexes hrColumnDoesNotFit

hrColumnLong

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

hrColumnLong (0xC80005DD) — значение столбца слишком длинное.

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

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

  • Проверьте актуальную схему: JET_COLUMNID, тип, максимальную длину, NULL-ограничения и tagged/multivalued флаги. После изменения схемы старые идентификаторы использовать нельзя.
  • Для чтения/записи сохраните длину значения, размер буфера и, для многозначного поля, itagSequence. NULL, пустое значение и отсутствующий экземпляр различаются.

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

  • Переданное значение превышает размер, рассчитанный на обычные данные этого column или конкретного API path.
  • `hrColumnTooBig` относится к declared maximum column, а `hrColumnDoesNotFit` — к оставшемуся месту в record.
  • Для действительно больших данных используйте поддерживаемое long-value representation либо введите меньший application-level limit.
  • Измерьте encoded byte length и проверьте, что schema действительно определяет column как подходящий long-value type.

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


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