Я получаю следующую ошибку при выполнении оператора select для базы данных SQLite 3 ...
attempt to write a readonly database
У меня есть следующие потоки ...
Поток 1 - выполняет только SELECT для базы данных
Поток 2 - выполняет как ОБНОВЛЕНИЯ, так и УДАЛЕНИЯ для базы данных.
Ошибка возникает в потоке 1, что кажется странным, поскольку это SELECTоператор.
Не уверен, почему запись выполняется для оператора SELECT, но предположил бы, что SQLite3 или библиотека Python 2.7 пытается выполнить некоторую блокировку, которую он не может сделать, поскольку поток № 2 выполняет обновление.
Я немного покопался, но я не видел очевидного способа установить какой-то уровень транзакции, чтобы остановить установку этой блокировки.
Я уверен, что это не проблема с разрешениямикак поток 2 (тот же пользователь и т. д.) может писать в базу данных без проблем.Большинство других потоков, которые я видел, включают изменения разрешений для решения проблемы.
Вот код, который открывает соединение с базой данных ...
conn = sqlite3.connect("\path\to\database")
Хотите знать, если у кого-нибудь есть решение этой проблемы?