В настоящее время возникает проблема в приложении XF, где мой файл SQLite db3 всегда отображается пустым (когда я копирую его с устройства / и т. д.). Когда я захожу в ADB Shell и просматриваю список каталогов, я вижу его и файлы общей памяти db3-shm / db3-wal. Эти файлы намного больше, чем сами файлы, содержащие данные. Любые идеи?
Использование пакета sqlite-net-pcl и запуск на Android 8.1.0





Вы можете перезапустить / обрезать журнал упреждающей записи с помощью SQLite-оператора PRAGMA через ExecuteScalarAsync.
var result = await conn.ExecuteScalarAsync<int>("PRAGMA wal_checkpoint(TRUNCATE);", new string[] { });
re: https://sqlite.org/pragma.html#pragma_wal_checkpoint
PRAGMA schema.wal_checkpoint;
PRAGMA schema.wal_checkpoint(PASSIVE);
PRAGMA schema.wal_checkpoint(FULL);
PRAGMA schema.wal_checkpoint(RESTART);
PRAGMA schema.wal_checkpoint(TRUNCATE);
В итоге я откатился к предыдущему пакету SQLite nuget (до поддержки WAL), пока не смогу продолжить исследования. Я обязательно проверю ваши ссылки и попытаюсь понять это лучше. Ценю ответ !!
Я также столкнулся с этой проблемой .. Я скопировал файлы .db3-shm и .db3-wal вместе с файлом .db3, чтобы увидеть данные в браузере БД для sqlite .. Я предполагаю, что данные хранятся в этих файлах .. Вы можете прочитать о них здесь .. https://www.sqlite.org/fileformat2.html#walindexformat
Возможный дубликат -shm и -wal файлы в БД SQLite