我正在尝试使用 SQLite 构建一个连接到数据库的应用程序,但我无法让它打开所述数据库。我可以在代码中添加任何内容以便它能够打开吗?
该目录可以工作,但文件无法连接到该目录。我已附上依赖项和函数以供参考:
from flask import Flask, jsonify, request
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime, timedelta
import sqlite3
import os
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///Resources/hawaii.sqlite'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
任何访问数据库的帮助都会很棒!
我尝试运行以下代码来查看我的数据库是否会打开:
def connect_to_database():
db_path = os.path.join(os.path.dirname(__file__), 'sqlite:///Resources/hawaii.sqlite')
try:
conn = sqlite3.connect(db_path)
print("Database opened successfully")
return conn
except sqlite3.Error as e:
print(f"Error opening database: {e}")
connection = connect_to_database()
我收到以下消息:
打开数据库时出错:无法打开数据库文件
db_path = os.path.join(os.path.dirname(__file__), 'sqlite:///Resources/hawaii.sqlite')
在这里,您尝试将类似 URI 的路径与文件系统路径连接起来,在 db_path 中实现如下所示:
/path/to/your/app/sqlite:///Resources/hawaii.sqlite'
这肯定不是有效/现有的路径。 sqlite3.connect 期望第一个参数是常规文件路径,所以你应该尝试:
conn = sqlite3.connect('Resources/hawaii.sqlite')