Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python sqlite3.DatabaseError:文件已加密或不是数据库_Python_Sqlite - Fatal编程技术网

Python sqlite3.DatabaseError:文件已加密或不是数据库

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

我已经创建了一个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.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