Re: [pgadmin-support] HELP FOR POSTGRESQL NEEDED... - Mailing list pgadmin-hackers
From | Dave Page |
---|---|
Subject | Re: [pgadmin-support] HELP FOR POSTGRESQL NEEDED... |
Date | |
Msg-id | D85C66DA59BA044EB96AB9683819CF6101547A@dogbert.vale-housing.co.uk Whole thread Raw |
List | pgadmin-hackers |
-----Original Message-----
From: ozric tentacle [mailto:ozric02@yahoo.gr]
Sent: 05 July 2002 17:19
To: pgadmin-support@postgresql.org; pgadmin-hackers@postgresql.org
Subject: [pgadmin-support] HELP FOR POSTGRESQL NEEDED...Hello.I am experiencing a quite strange behavior with my postgreSQL database.
I have edited the file pg_hba.conf like this:
# TYPE DATABASE IP_ADDRESS MASK AUTH_TYPE AUTH_ARGUMENT
local all password
host all 127.0.0.1 255.255.255.255 passwordin order to require user authentication.This works perfectly when I connect to the database with psql or pgaccess and I'm able to perform
all kinds of queries.
However when I try to connect to the database with C++ even though it allows me to connect (providing the correct username & password)
all the queries fail...The C++ code I use is the following:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream.h>
#include <string>#include "libpq++.h"
using namespace std;
int main(){
string login,pwd;
char name[10];
char query_string[256];cout << ">username:";
cin >> login;
cout << ">password:";
cin >> pwd;cout<<"user to search:";
cin >> name;
// Open the connection to the database and make sure it's OKPgDatabase data("dbname=goumero");
char *pghost,*pgport,*pgoptions,*pgtty;
char *dbName;pghost = NULL; /* host name of the backend server */
pgport = NULL; /* port of the backend server */
pgoptions = NULL; /* special options to start up the backend server */
pgtty = NULL; /* debugging tty for the backend server */
dbName = "goumero";PGconn* conn;
conn = PQsetdbLogin(pghost,pgport,pgoptions,pgtty,dbName,login.c_str(),pwd.c_str()) ;
if (PQstatus(conn) == CONNECTION_BAD ) {
fprintf(stderr, "Connection to database '%s' failed.\n", dbName);
fprintf(stderr, "%s", PQerrorMessage(conn));
return 1;
}
else
//Connection successful...
data.Exec("BEGIN WORK");
data.Exec("LOCK TABLE account in ACCESS EXCLUSIVE MODE");
sprintf(query_string, // create an SQL query string
"SELECT * \
FROM account \
WHERE name='%s'" , name);
if ( !data.ExecTuplesOk(query_string) ) // send the query
&! nbsp; {
cerr << "query failed." << endl; //always fails
exit(1);
}for (int i=0; i < data.Tuples(); i++) // loop through all rows returned
cout << data.GetValue(i,0) << endl; // print the value returned/**************************************************************************************/
data.Exec("COMMIT WORK");
PQfinish(conn);return 0;
} // End main()
Note:The same query string above is correctly executed when I connect with psql .
Also if I remove the user authentication stuff then the same code is executed correctly.
I would be grateful if you helped me - I'm desperate....
Do You Yahoo!?
Αποκτήστε την δωρεάν σας @yahoo.gr διεύθυνση στο Yahoo! Mail.
pgadmin-hackers by date: