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

Доброе утро всем.Мы работаем над нашим первым проектом Xamarin.Forms.Мы «унаследовали» указанный проект, поэтому много пытались понять его.Проект состоит из PCL, Droid и iOS.Пока что часть Droid работает отлично.Тем не менее, часть iOS доставляет много хлопот.Приложение имеет структуру Master-Detail, с одним меню и областью подробностей, более 40 страниц.Мы используем sqlite и удаленные веб-сервисы для хранения и сбора данных.

Теперь проблема: все эти страницы интенсивно используют внутреннюю базу данных.39 из них работают как надо, но один из них выдает ошибку, когда мы пытаемся получить к нему доступ.Кто-то может подумать, что проблема находится на этой странице, но здесь есть одна загвоздка: мы можем получить к ней доступ в первый раз, и она работает, во второй раз, и она работает, в третий раз, и она вызывает исключение.Мы перезапускаем приложение, и на этот раз при первом обращении к странице возникает исключение.В следующий раз это случится при втором доступе.Таким образом, мы не можем точно определить, что происходит.

Мы ведем журнал ошибок, и вот что мы получаем: невозможно открыть файл базы данных на SQLite.SQLite3.Prepare2 (SQLitePCL.sqlite3 db, запрос System.String) .Опять же, эта страница отлично работает на Android.Ниже приведен код, который работает с db:

string documentsPath = Environment.GetFolderPath (Environment.SpecialFolder.Personal);строка libraryPath = Path.Combine (documentsPath, "..", "Library");var path = Path.Combine (libraryPath, sqliteFilename);

Мы пытались найти решение повсюду, но его трудно получить при случайном поведении.Я также должен отметить, что все приложение для iOS отлично работает на симуляторе.

Буду признателен за любую помощь.

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