Ответы пользователя по тегу Python
  • Python sqlite, почему возникает ошибка?

    @igreklpofrss
    Для будущих искателей ответа на вопрос. Смотрю вопрос популярный, задавали его 3 года назад, но никто не указал простое решение. Во-первых, SQLIte говорит, что не может работать в нескольких потоках. В ошибке он говорит, что объект соединения с БД был создан в одном потоке, а вы вызываете соединение в другом. Во-вторых, было ли это возможно раньше, когда задавали вопрос, не знаю, но есть простое решение ошибки. Можно "включить" поддержку многопоточности отключив проверку потока в котором вызывается объект. Отключить с помощью аргумента check_same_thread. Но стоит учитывать, что данные могут быть повреждены или неправильно записаны при одновременной записи в БД из разных потоков. Поэтому, если такое может быть, стоит написать "обёртку" с регулировкой потоков или очереди запросов пользователей.

    conn = sqlite3.connect(path_db, check_same_thread=False)
    Ответ написан
    Комментировать