繁体   English   中英

SQLAlchemy无法使用绝对路径连接到本地数据库

[英]SQLAlchemy can't connect to a local database using an absolute path

在为用用户用大写字母配置POSTGRESQL程序并弄清楚如何在Windows中写出abs路径而烦恼之后: set DATABASE_URL=postgresql:///c:\\\\Program Files\\\\PostgreSQL\\\\9.3\\\\data\\\\books.db

(没有空格!我是很难学到的!)

在Windows中,我仍然很难连接到使用测试脚本创建的本地数据库。

在PSQL中,存在一个名为“ books”的数据库,该数据库显示为“ \\ z”。 用于保存数据库的默认目录与POSTGRESQL的默认目录相同。 但是当我运行程序时:

import csv
import os

from sqlalchemy_utils import database_exists
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker

engine = create_engine(os.getenv("DATABASE_URL"))
db = scoped_session(sessionmaker(bind=engine))


def import_csv():
    f = open("books.csv")
    reader = csv.reader(f)
    for isbn, title, author, year in reader:
        db.execute("INSERT INTO books (isbn, title, author, year) VALUES (:isbn, :title, :author, :year)",
                    {"isbn":isbn, "title":title, "author":author, "year":year})
    db.commit()

import_csv()

为什么不连接? (我在这里裁剪了很多无关的代码,以显示我正在处理的活动部分)

在为使用用户用大写字母配置POSTGRESQL程序并弄清楚如何在Windows中写出abs路径而烦恼之后:设置DATABASE_URL = postgresql:/// c:\\ Program Files \\ PostgreSQL \\ 9.3 \\ data \\ books 。D b

Postgres是一个数据库服务器。 您不能直接连接到这样的基础文件之一。 您需要连接到Postgres数据库服务器提供的网络服务。

此处显示用于连接到Postgres数据库的可接受的SQLAlchemy URL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM