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
You will get a better response from one of the PostgreSQL lists (see www.postgresql.org). These lists are for pgAdmin related stuff....
 
Regards, Dave.
-----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                   password

in 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 OK

  PgDatabase 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:

Previous
From: David Holloway
Date:
Subject: Gui suggestion
Next
From: "Dave Page"
Date:
Subject: Re: Gui suggestion