python - 我需要 sqlite3 的提示

标签 python sqlite

我正在尝试从数据库检索值,并且从一开始就堆栈,因为在我给出正确的路径后,sqlite3 无法打开数据库文件。

版本 1:

sqlite_file = os.environ.get('DATABASE_URL', 'sqlite:///db.sqlite')
conn = sqlite3.connect(sqlite_file)
c = conn.cursor()

版本 2:

sqlite_file = app.config['SQLALCHEMY_DATABASE_URI']
conn = sqlite3.connect(sqlite_file)
c = conn.cursor()

地点:

SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL', 'sqlite:///db.sqlite')

在这两种情况下都会出现错误

Error on request:
Traceback (most recent call last):
  File "/home/ubuntu/workspace/avb/venv/lib/python3.6/site-packages/werkzeug/serving.py", line 209, in run_wsgi
    execute(self.server.app)
  File "/home/ubuntu/workspace/avb/venv/lib/python3.6/site-packages/werkzeug/serving.py", line 197, in execute
    application_iter = app(environ, start_response)
  File "/home/ubuntu/workspace/avb/venv/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/home/ubuntu/workspace/avb/app.py", line 222, in <module>
    conn = sqlite3.connect(sqlite_file)
sqlite3.OperationalError: unable to open database file

最佳答案

对于sqlite3.connect(),首先使用实际文件名(例如 example.db)作为参数。
environ.get()相同:使用实际的文件名,而不是sqlite:///地址。

关于python - 我需要 sqlite3 的提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51568990/

相关文章:

Python:在 float 中翻转一点

python - 使用外部 Web 服务的 Django 身份验证

python - 如何获取数据框中所有列的数据类型?

ios - Sqlite 结果集包含空值

c++ - "Dr. sqlite3_bind_text"和 "Mr. sqlite3_column_text"之谜

android.util.Log.println_native 中的 java.lang.NullPointerException

python - 在for循环python中打印元组

python argparse : use two groups of required arguments

c++ - 对 `sqlite3_open' 的 undefined reference 。我没主意了

iphone - 如何从结果集中获取分组查询数据?