Flask:OperationalError:无法打开数据库文件(在内存数据库文件中)

时间:2018-09-26 07:50:24

标签: python apache flask sqlite

我想在一个程序(main.py)中创建共享的内存数据库,并想从通过Apache服务器运行的flask应用程序(check_flask.py)程序连接到该数据库。 我已经在main.py中成功创建了内存共享数据库,但是当我尝试在Flask应用程序(OperationalError: unable to open database file)中连接它时,它会出现check_flask.py错误

这是我的代码:

main.py

p = sqlite3.connect("file:fruits?mode=memory&cache=shared")
p.execute('CREATE TABLE foo (bar, baz)')
p.execute("INSERT INTO foo VALUES ('apple', 'orange')")
p.commit()

check_flask.py

app = Flask(__name__)

@app.before_first_request
def Initialization():
     q = sqlite3.connect("file:fruits?mode=memory&cache=shared")
     print list(q.execute('SELECT * FROM foo'))

给出OperationalError: unable to open database file错误

但是我成功地从另一个不基于烧瓶的程序(check.py)连接到水果内存数据库。

check.py

q = sqlite3.connect("file:fruits?mode=memory&cache=shared")
print list(q.execute('SELECT * FROM foo'))

它将结果打印为[(u'apple', u'orange')]

我浏览了很多网站,但似乎都没有。

请帮助!

谢谢

0 个答案:

没有答案