簡體   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