Python / sqlite3 - ошибка блокировки базы данных при запросе SELECT - PullRequest
0 голосов
/ 06 ноября 2019

Я часто получаю OperationalError: Database is Locked на запросы SELECT, которые я делаю на БД sqlite3 с помощью модуля sqlite3 Python. Я прочитал документ Python sqlite3, и в нем упоминается, что мы можем передать timeout=N param в sqlite3.connect, чтобы указать, как долго соединение должно ждать, пока блокировка исчезнет.

Вызывает ли sqlite3 исключение при попытке создатьобъект соединения или он вызывается при выборе.

1 Ответ

0 голосов
/ 06 ноября 2019

Вы абсолютно правы, просто используйте тайм-аут для вашего соединения, но это не значит, что ваша база данных не будет заблокирована, когда ваша база данных будет заблокирована, она будет заблокирована для этого конкретного примера кода тайм-аута

conn = sqlite3.connect("mydb", timeout=10)

это означает, что всякий раз, когда база данных блокируется, база данных разблокируется через 10 миллисекунд

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