2017-02-27 24 views
0

私は次のコード行を長時間使用していますが、今日は次のエラーが発生しているようです。Python:Postgresql DBに接続する際に問題が発生しました

"Could not parse rfc1738 URL from string '%s'" % name) 
sqlalchemy.exc.ArgumentError: Could not parse rfc1738 URL from string 'host='<host>' dbname='<db>' user='<user>' password='<pass>'' 
+0

意味が分かりません。明確にしていただけますか? –

+0

"blahblahblah.com"のようなURLアドレスです –

+0

これは、資格情報のプライバシーを保護するためにトレースバックエラーを変更したためです。 –

答えて

0

変更link_conn_stringhereようなものにする:

奇妙なことが

import pandas as pd 
import psycopg2 
link_conn_string = "host='<host>' dbname='<db>' user='<user>' password='<pass>'" 
conn = psycopg2.connect(link_conn_string) 
df = pd.read_sql("SELECT * FROM link._link_bank_report_lms_loan_application", link_conn_string) 

エラーメッセージ...私は同じコードを使用し、それらのすべてが動作するように見える他のスクリプトを持っているということです

postgresql://[user[:password]@][netloc][:port][/dbname][?param1=value1&...] 

例:

>>> import psycopg2 
>>> cs = 'postgresql://[email protected]:5432/t' 
>>> c = psycopg2.connect(cs) 
>>> import pandas as pd 
>>> df = pd.read_sql("SELECT now()",c) 
>>> print df; 
           now 
0 2017-02-27 21:58:27.520372+00:00 
-1

接続文字列が間違っています。

あなたは、文字列に変数「link_conn_string」を割り当てると、このようなもので、次の行を置き換え行を削除する必要があります(マシン場所の名前でlocalhostのはpostgres秘密を置き換えることを忘れないでくださいデータベースは「PSQL」の共同で作業しているかどうかをチェックすることができ、また

conn = psycopg2.connect(dbname="localhost", user="postgres", password="secret") 

:PostgreSQLは、その接続を行うために必要なユーザーパスワード)を実行していますターミナルからタイプして(ユーザーとデータベースを変更することを忘れないでください):

psql -U postgresql database 
+0

私はそれが[the docs](http://initd.org/psycopg/docs/module.html)のtypoだと思っています。なぜなら、キーワード引数に '='がないからです。また、彼らは、OPに似た文字列が有効な選択肢であると言います。 – jonrsharpe

+0

見つからなかった。実際にはドキュメントで間違っています。 –

関連する問題