база данных становится доступной только для чтения / повреждена - PullRequest
0 голосов
/ 17 мая 2018

В нашем приложении мы использовали зашифрованную базу данных sqlite в формате db3, которая загружается с сервера, а затем снова после загрузки загружается. Приложение работает в режиме реального времени и используется несколькими пользователями. Иногда, очень периодически, в одном или двух случаях, база данных повреждена. Пользователь должен отказаться от всего приложения и заново установить его для работы, что приведет к потере данных. Только после того, как мы смогли обнаружить, что одна из таблиц пропала из базы данных, нигде в коде не была записана команда удаления таблицы.

Кто-нибудь сталкивался с этим случаем раньше? Есть идеи, почему это происходит?

Обратите внимание: приложение представляет собой приложение для iPad, написанное с целью C.

1 Ответ

0 голосов
/ 17 мая 2018

Одна из главных причин: iDevices отключились довольно долго, прежде чем они фактически закончили работать.Прежде чем ваше устройство выключится, ваше приложение получит уведомление о том, что оно переходит в фоновый режим, а затем получит уведомление о выходе из приложения.Если вы обрабатываете эти два уведомления правильно (то есть закрываете все соединения SQLite на одном или другом), вы не должны получать повреждение базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...