[C/C++] Aufbau einer Verbindung zur DB scheitert

Hallo,

ich beschäftige mich erst seit kurzem mit PostgreSQL und der C-API
und stehe nun leider schon vor meinem ersten Problem.

Ich schaffe es einfach nicht über mein C++ Programm eine Verbindung zur DB herzustellen.

Hier mal der relevante Code:
[php]
if(postgre.Connect(“hostaddr=127.0.0.1 port=5432 dbname=Kompex-Patch-Server user=kompex password=kompex requiressl=0”) == false)
{
cout << “\nDatabase connection failed.\n”;
//return -1;
}
[/php][php]
bool PostgreRepository::Connect(const char *conninfo)
{
if(isConnected == false)
{
pgConn = PQconnectdb(conninfo);

switch(PQstatus(pgConn))
{
case CONNECTION_OK:
std::cout << “CONNECTION_OK”;
isConnected = true;
break;
case CONNECTION_BAD:
std::cout << “CONNECTION_BAD”;
isConnected = false;
PQfinish(pgConn);
break;
}
}

return isConnected;
}
[/php]Ich bekomme immer CONNECTION_BAD zurückgeliefert…
Habe auch schon die PQsetdbLogin() versucht brachte mir aber letztendlich das selbe Problem ein.

Meine PostgreSQL DB läuft als Dienst und der User ist nicht angemeldet,
müsste ja so richtig sein.

Der Benutzerneme sowie das Passwort stimmen überein, was man ja ganz leicht überprüfen kann, indem man sich mal mit pgAdmin3.exe einloggt.
Port und IP können ja schlecht falsch sein.
Vorsichtshalber habe ich den Port aber auf dem Router und in der Firewall freigegeben, sowie Postgre alle Berechtigungen gegeben, obwohl ja alles lokal laufen sollte.

Ich weiß jetzt nicht an welcher Kleinigkeit das Ganze nun scheitert.
Ist sicherlich nur ein kleiner Anfängerfehler ^^
hoffe mir kann jmd helfen.

Wenn noch irgendwelche Infos gebraucht werden, einfach fragen ^^

Warum wirfst Du das, was PG als Fehlerbeschreibung liefert (PQerrorMessage), ungelesen in die Tonne? Sollen wir danach suchen?

Meine PostgreSQL DB läuft als Dienst und der User ist nicht angemeldet,
müsste ja so richtig sein.

Hä?

Der Benutzerneme sowie das Passwort stimmen überein, was man ja ganz leicht überprüfen kann, indem man sich mal mit pgAdmin3.exe einloggt.

Ach soooo, Windoze.

Vorsichtshalber habe ich den Port aber auf dem Router und in der Firewall freigegeben,

OMFG. Du hast die Waschmaschine vergessen.

Wenn noch irgendwelche Infos gebraucht werden, einfach fragen ^^

Kannst Du Dich mit psql einloggen? Auch mit Option -h 127.0.0.1? Was meldet PG als Ursache für den gescheiterten Verbindungsversuch?


Andreas

Warum wirfst Du das, was PG als Fehlerbeschreibung liefert (PQerrorMessage), ungelesen in die Tonne? Sollen wir danach suchen?

Thx, wusste nicht das es diese Funktion gab drop
letztendlich hat mich diese Funktion drauf gebracht was nun verkehrt war.

OMFG. Du hast die Waschmaschine vergessen.

Hää??? Was willste mir damit jetzt sagen?

Letztendlich lag es daran das er nicht zur Datenbank connecten konnte,
da ich dummerweise den Namen vom Server genommen hatte und nicht von einer einzelnen Datenbank…

Jo also thx für deine Hilfe, wieder was gelernt ^^

Das geht aus dem von Dir wegrationalisiertem Kontext hervor…


Andreas