首页 > 解决方案 > Flask:OperationalError:无法打开数据库文件(在内存数据库文件中)

问题描述

我想在一个程序()中创建共享内存数据库,并希望从通过 apache 服务器运行main.py的烧瓶应用程序()程序连接到它。check_flask.py我成功地在其中创建了内存中的共享数据库main.py,但是 OperationalError: unable to open database file 当我尝试在 Flask 应用程序中连接它时它给出了错误(check_flask.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)连接到水果内存数据库。

检查.py

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

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

我浏览了许多网站,但似乎都没有工作。

请帮忙!

谢谢

标签: pythonapacheflasksqlite

解决方案


推荐阅读