Многопоточность с SQLite и Objective-C - PullRequest
1 голос
/ 12 августа 2011

У меня есть несколько потоков, и я использую SQLite для хранения.Когда я пытаюсь получить доступ к базе данных, я получаю сообщение об ошибке SQLITE_BUSY.

Есть ли способ, как устранить эту проблему, кроме попыток при каждом запросе?

Ответы [ 2 ]

2 голосов
/ 12 августа 2011

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

Вот ссылка на документацию: http://www.sqlite.org/threadsafe.html

0 голосов
/ 12 августа 2011

Игнорировать мой последний ответ.

Вы можете использовать функцию sqlite3_errmsg, чтобы получить сообщение об ошибке в виде строки и распечатать его с помощью NSLog или другими способами, как только возникнет ошибка, чтобы найти более подходящую и правильную причину.http://www.sqlite.org/c3ref/errcode.html

Возможно, вы столкнулись с проблемой сериализации;Я не уверен, где.

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