Python Sqlite3数据库错误

时间:2015-04-21 18:55:56

标签: python python-3.x sqlite

我正在尝试运行程序将价格放入数据库但是当我尝试写入数据库时​​出现错误。我使用的是Python3.4,我有sqlite版本3.7.14.1

import sqlite3
con = sqlite3.connect('/../../stocks.db')
cur = con.cursor()
cur.execute("insert into apple values (?,?)",(price,time))
con.commit()

#error
cur.execute("insert into apple values (?,?)",(price,time))
sqlite3.DatabaseError: file is encrypted or is not a database

1 个答案:

答案 0 :(得分:1)

尝试替换con = sqlite3.connect('/../../stocks.db')

con = sqlite3.connect('../../stocks.db')

或使用stocks.db

的正确路径

con = sqlite3.connect('/../../stocks.db')中,/作为路径的第一个字符表示根目录,而来自/的父..也是根目录/ }

所以/../../stocks.db/stocks.db,这可能不是stocks.db实际上的位置,如果你的意思是相对路径。

当db文件不存在时,如果文件权限允许,sqlite3仍会尝试将其作为新数据库打开。但是,在这种情况下,用户可能无权在/stocks.db

写入根目录