Как мне обработать ошибку файловой системы DatabaseIOException (12) - PullRequest
0 голосов
/ 15 марта 2012

Когда я запускаю свое приложение Blackberry, выполняется вызов веб-службы.Когда ответ веб-службы возвращается, я затем сохраняю эти данные в базе данных SQLite.

Я совершенно уверен, что в любой момент времени можно установить только одно соединение с файлом SQLite, но это создает проблему дляme.

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

DatabaseIOException File System Error (12)

Теперь я могу догадаться, что это происходит, потому что оба вызова веб-службы пытаются взаимодействоватьс тем же файлом базы данных.На самом деле все взаимодействия в моем приложении связаны с одним файлом базы данных.

Я думаю, один из моих вопросов будет следующим:

Если два подключения к файлу базы данных будут созданы одно за другими выдается ошибка: оба соединения просто умирают или первое соединение завершает то, что оно делало ??

Кроме того, каков наилучший способ обработки сценария такого типа.Какие проверки необходимо выполнить перед открытием другого соединения ??

Большое спасибо.

1 Ответ

1 голос
/ 16 марта 2012

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

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