我想在一个程序(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')]
我浏览了很多网站,但似乎都没有。
请帮助!
谢谢