Python sqlite3.DatabaseError:文件已加密或不是数据库
我已经创建了一个sqlite数据库,并将其上传到主机 然后我从脚本中检索它并尝试插入一些数据,但execute()返回一个Python sqlite3.DatabaseError:文件已加密或不是数据库,python,sqlite,Python,Sqlite,我已经创建了一个sqlite数据库,并将其上传到主机 然后我从脚本中检索它并尝试插入一些数据,但execute()返回一个 数据库错误(文件已加密或不是数据库)。 urllib.urlretrieve('http://%s/%s'(主机,名称\u DB),名称\u DB) con=sqlite3.connect(NAME\u DB) cur=con.cursor() 当前执行('插入日志(日期、计数、平均值)值(日期(“现在”)、?、?)、(1、1.2)) con.commit() con.cl
数据库错误(文件已加密或不是数据库)。
urllib.urlretrieve('http://%s/%s'(主机,名称\u DB),名称\u DB)
con=sqlite3.connect(NAME\u DB)
cur=con.cursor()
当前执行('插入日志(日期、计数、平均值)值(日期(“现在”)、?、?)、(1、1.2))
con.commit()
con.close()
回溯(最近一次呼叫最后一次):
文件“mylog.py”,第17行,在
当前执行('插入日志(日期、计数、平均值)值(日期(“现在”)、?、?)、(1、1.2))
sqlite3.DatabaseError:文件已加密或不是数据库
如果使用sqlite CLI插入数据,则不会发生此类错误。您能帮助我吗?sqlite CLI和python sqlite API之间的版本不匹配?我再次从脚本而不是CLI创建了数据库。现在,插入并从脚本中选择work,但不要从CLI中选择work<代码> $SQLite版本//COD>返回2.817,而Python版本是2.7.3. < P>,我使用C++代码创建的数据库遇到了同样的问题,SQLe3库后来被Python 2.7版本SQLITE3访问。我无法用Python脚本查询数据库。为了解决计算机上的问题,我更改了以下版本: C:\Python27\DLLs\sqlite3.dll
< C++ > SQLite库目录中找到的版本。< /P> < P> OK,我遇到了同样的问题,VISIONEILE只在代码< > PythOxxx \ DLL> <代码> >代码> SQLITE3。DLL<代码> > CLI<代码> SQLLite 文件夹中,该文件夹原本包含<代码> SQLITE3.3.exe < /C> >并且解决了 < P>我也有同样的问题,我认为我正在使用的SQLite3DB有问题。但似乎我意外地将另一个sqlite3.db文件(在我的项目中)作为ASCII重写了。我不知道错误来自另一个数据库。
注意:)可能会重复您的操作。这似乎是权限问题,或者(文件路径)不存在该文件是一个真实的数据库,打开它并从CLI插入数据非常有效。所以这不是同一个问题。@FoxMaSk rw rights,我是数据库文件的所有者,名称\u db是当前目录的相对路径。文件确实存在,检查os.path.exists()返回True。检查下载的文件是否包含正确的内容。可能您只是收到了一条错误消息,或者您的主持人试图在“网页”中插入广告。
urllib.urlretrieve('http://%s/%s' % (HOST, NAME_DB), NAME_DB)
con = sqlite3.connect(NAME_DB)
cur = con.cursor()
cur.execute('insert into log(date, count, average) values(date("now"), ?, ?)', (1, 1.2))
con.commit()
con.close()
Traceback (most recent call last):
File "mylog.py", line 17, in <module>
cur.execute('insert into log(date, count, average) values(date("now"), ?, ?)', (1, 1.2))
sqlite3.DatabaseError: file is encrypted or is not a database