Что означает код HRESULT 0xC80005E7 (hrInvalidColumnType)?

 
Предыдущий Следующий
hrColumn2ndSysMaint hrColumnCannotIndex

hrInvalidColumnType

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

hrInvalidColumnType (0xC80005E7) — недопустимый тип данных столбца.

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

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

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

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

  • `JET_coltyp` или сочетание type/flags не поддерживается для создаваемой/изменяемой column definition.
  • Отличайте от `hrInvalidBufferSize`: там schema type допустим, а проблема в размере supplied data buffer; здесь отвергается сама schema definition.
  • Выберите documented column type и compatible flags до `JetAddColumn`/alter schema; retry той же definition не имеет смысла.
  • Учитывайте storage semantics: NULL, zero-length, deletion и missing multivalue instance различаются, а fixed/variable/tagged/long-value columns имеют разные ограничения и row impact.

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


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