尝试使用SQLite3构建应用程序文件,但无法打开数据库文件。有什么建议吗?

问题描述 投票:0回答:1

我正在尝试使用 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()

我收到以下消息:

打开数据库时出错:无法打开数据库文件

python database sqlite
1个回答
0
投票
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')
© www.soinside.com 2019 - 2024. All rights reserved.