2017-06-29 3 views
0

Wir versuchen, auf die Datenbank von Odoo auf 104.154.90.232 über Python zuzugreifen. Ich habe psycopg2 verwendet, um eine Verbindung herzustellen.Odoo-PostgreSQL Zugriff über Python

Mein Code ist wie folgt:

import psycopg2 
import sys 
import pprint 

conn_string = "host='104.154.90.232' dbname='dbname' user='user' password='password'" 

print "connecting to the database\n ->%s"%(conn_string) 
conn = psycopg2.connect(conn_string) 
cursor = conn.cursor() 

cursor.execute("SELECT * FROM hr_employee") 
records = cursor.fetchall() 

pprint.pprint(records) 

Der Fehler ist:

Traceback (most recent call last): 

    File "test.py", line 6, in <module> 
    conn = psycopg2.connect(conn_string)  
    File "C:\Python27\lib\site-packages\psycopg2\__init__.py", line 130, in connect 
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync) 
psycopg2.OperationalError: could not connect to server: Connection timed out (0x0000274C/10060) 

Ist der Server auf dem Host "104.154.90.232" und die Annahme von TCP/IP-Verbindungen auf Port 5432 läuft?

Kann mir jemand helfen, die Verbindung herzustellen?

+1

Und läuft der Server dort und akzeptiert Verbindungen? –

+1

überprüfen, ob der Server auf dem Port 5432 ausgeführt wird, ist es möglicherweise nicht. – Cherif

+0

Zum Testen, wenn der Server läuft, übergeben Sie diese cmd 'ps ax | grep postgres' in Ihrem Terminal –

Antwort

0

Soweit ich weiß, erlaubt der Standard pg_hba.conf file nur Verbindungen bzw. Authentifizierung vom lokalen System. Sie müssen neue Regeln für den externen Zugriff definieren. Es ist in der Datei beschrieben, wie das geht.

Dann muss natürlich ein korrekt konfigurierter Datenbankbenutzer für odoo sein.

Verwandte Themen