[英]Connect to postgresql using python script (database URI) but detects 'conn' as string
我正在使用一個簡單的 python 腳本來連接 postgresql,未來將僅使用該腳本將表創建到 postgresql 中。
我的代碼是:
try:
conn = "postgresql://postgres:<password>@localhost:5432/<database_name>"
print('connected')
except:
print('not connected')
conn.close()
當我運行 python connect.py (我的文件名)時,它會拋出這個錯誤:
Instance of 'str' has no 'commit' member
很確定是因為它將“conn”檢測為字符串而不是數據庫連接。 我已遵循此文檔(33.1.1.2),但現在確定我是否做得對。 如何更正此代碼,以便將腳本連接到我的 postgresql 服務器,而不僅僅是將其檢測為字符串?
p/s:我對此很陌生。
您正在嘗試對字符串 object 調用方法。 相反,您應該首先建立與您的數據庫的連接。
我不知道允許使用完整連接字符串的驅動程序,但您可以使用psycopg2 ,它是 PostgreSQL 的常見 python 驅動程序。
安裝psycopg2后,您可以執行以下操作來建立連接並請求您的數據庫
import psycopg2
try:
connection = psycopg2.connect(user = "yourUser",
password = "yourPassword",
host = "serverHost",
port = "serverPort",
database = "databaseName")
cursor = connection.cursor()
except (Exception, psycopg2.Error) as error :
print ("Error while connecting", error)
finally:
if(connection):
cursor.close()
connection.close()
你可以按照這個教程
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.