首页 > 解决方案 > Python sqlite3错误-数据库已加密

问题描述

我正在尝试以我在计算机上下载的 SQL 文件的形式查询数据库,以便在机器学习项目中使用这些数据。我查看了数据库源代码,并没有密码设置语句,所以我对不断收到的错误感到非常困惑,即“DatabaseError:文件已加密或不是数据库。”

import sqlite3 as lite

con  = None
con = lite.connect('haiku1aip1.sql')
cur =  con.cursor()
cur.execute('SELECT * FROM haiku1aip1')
rows = cur.fetchall()
poems = []
for row in rows:
    poems.append(row)
print(poems)

标签: sqldatabasepython-3.xsqlite

解决方案


con = lite.connect('haiku1aip1.sql')

此行正在尝试连接到名为“haiku1aip1.sql”的数据库,但.sql不是数据库文件的正确文件扩展名。您的数据库文件将以.db.

.sql文件包含 SQL 查询、插入和其他语句(类似于您的"SELECT * FROM haiku1aip1"查询)。


推荐阅读