Что означает код HRESULT 0x87AF0012 (SQLITE_E_TOOBIG)?

 
Предыдущий Следующий
SQLITE_E_SCHEMA SQLITE_E_CONSTRAINT

SQLITE_E_TOOBIG

Что означает результат

SQLITE_E_TOOBIG: SQLite отклонил значение, строку, BLOB или результат операции, потому что его размер превышает применимый limit SQLite. Это конкретное ограничение размера, а не общий filesystem/VFS error.

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

  • Сохраните SQL/API и фактический размер значения в байтах до bind/step/result construction.
  • Проверьте sqlite3_limit для SQLITE_LIMIT_LENGTH и другие limits, которые могли быть уменьшены приложением.
  • Для concatenation/aggregate/JSON операций измерьте промежуточный результат, а не только размер исходной строки.
  • Не пытайтесь лечить SQLITE_TOOBIG увеличением page cache: memory/page cache limits отличаются от maximum value length.

Диагностика и исправление

Уменьшите размер значения/результата или обоснованно измените соответствующий sqlite3_limit в пределах compile-time maximum. Разбейте payload на несколько записей, если это соответствует модели данных.

Ссылки по этому результату


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