Ошибка "unable to open database file" SQLite3 Python

Пишу телеграмм бота, используя в проекте библиотеку sqlite3. Все работало отлично, до момента, как я почистил свой компьютер при помощи CCleaner.

Код начал выдавать ошибку "unable to open database file". Проблема возникает, когда код пытается изменить таблицу (при помощи UPDATE). Потому что когда код берет значение из таблицы (при помощи SELECT), все работает (команда sqlite3.connect() выполняется верно). Кроме того, сама таблица тоже отлично открывается прям из папки проекта.

Часть кода:

def add_city(id_user, city_from_user):
    try:
        db = sqlite3.connect('C:\\Users\\user1\\OneDrive\\Documents\\Pythonproject\\telegram_bot\\telebot_database.db')
        c = db.cursor()
        c.execute("SELECT city_01,city_02 FROM telebot WHERE rowid = ?",[id_user])
        result_select = c.fetchone()
        if result_select[0] is None:
            c.execute("UPDATE telebot SET city_01 = ? WHERE rowid = ?",[city_from_user,id_user])
        else:
            c.execute("UPDATE telebot SET city_02 = ? WHERE rowid = ?",[city_from_user,id_user])
        db.commit()
        return "ready"
    except sqlite3.Error as e:
        print("Error:", e)
    finally:
        c.close()
        db.close()

Как я понял, проблема заключается в том, что у моего кода нет просто доступа к изменению файла.


Ответы (1 шт):

Автор решения: KillmeNull

Случайным образом, я выявил, что данная проблема возникает из-за антивируса Windows 10, а именно из-за функции "Защита от программ-шантажистов". Надо выключить "Контролируемый доступ к папкам" и проблема исчезает.

функция windows 10

Примечание: добавить процесс в исключения, мне не помогло.

→ Ссылка