IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

[C++][Connexion] Impossible de se connecter à ma base


Sujet :

PostgreSQL

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut [C++][Connexion] Impossible de se connecter à ma base
    Je n'arrive pas à connecter mon programme C++ à une base local en Postgres.

    Voilà le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    //---------------------------------------------------------------------------
    //
    // Name:        ConnexionDlg.cpp
    // Author:      Equipe Ouroboros
    // Created:     12/01/2006 10:58:12
    //
    //---------------------------------------------------------------------------
     
    #include "ConnexionDlg.h"
    #include "libpq-fe.h"
    #include "WxBitmapButtonConnexion_XPM.xpm"
     
     
     
     
    //----------------------------------------------------------------------------
    // ConnexionDlg
    //----------------------------------------------------------------------------
     
    // ....
    // ...
     
     
    /*
     * WxBitmapButtonConnexionClick
     */
    void ConnexionDlg::WxBitmapButtonConnexionClick(wxCommandEvent& event)
    {
    	// traitement de vérification de login/Mot de passe
    	wxString login = WxEditLogin->GetValue();
    	wxString password = WxEditPassword->GetValue();
     
    	wxString tmp = "SELECT passwd FROM admin WHERE login = '" + login + "'";
     
    	PGconn *connect; 
        const char *conninfo = "host = localhost dbname = postgres user = postgres password = azerty"; /*Test est le nom de ma base*/ 
     
        connect = PQconnectdb(conninfo); 
     
     
    	//PGconn * connect = PQsetdbLogin("localhost","5432",NULL,NULL,"postgres","postgres","azerty");
        //PGconn * connect = PQconnectdb();
    	if (PQstatus(connect) != CONNECTION_OK)
        {
            wxString tmp1 = PQerrorMessage(connect);
            wxString error = "Connection impossible à la base :\n" + tmp1;
            wxMessageBox(error, "Erreur!!" ,
                                wxOK | wxICON_ERROR);
        }
     
    	PGresult * result = PQexec(connect, tmp);
     
    	//wxString nom = PQdb(connect);
     
    	if(result == NULL)
    	{
             wxMessageBox("Login ou password incorrect!", "Erreur !" ,
                                wxOK | wxICON_ERROR);
        }
        else
    	    Destroy();
    }
    Et voici l'erreur:


  2. #2
    Membre actif Avatar de Biosox
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 298
    Points : 203
    Points
    203
    Par défaut
    essaye de changer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const char *conninfo = "host = localhost dbname = postgres user = postgres password = azerty";
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const char *conninfo = "dbname = postgres user = postgres password = azerty";
    en tou cas moi j'ai pas précisé "host = localhost" et ça marche

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    J'ai oublié de préciser que je développais sous windows. En fait quand j'enlève le nom de l'hôte j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    could not create socket: WSASTartup not yet called (0x0000276D/10093)

  4. #4
    Membre actif Avatar de Biosox
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 298
    Points : 203
    Points
    203
    Par défaut
    tu dois peut-etre mettre le numero du port:
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const char *conninfo = "host = localhost:5432 dbname = postgres user = postgres password = azerty";
    en tout cas quand je me connecte à ma BD depuis le GUI (pgAdminIII), il m'indique
    Connecting to server PostgreSQL Database 8.1 (localhost:5432)
    Le numéro de port est choisi lors de l'installation de postgreSQL, 5432 c'est le numero par défaut (en tout cas chez moi)

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Non, j'avais déjà testé, c'est le même message d'erreur sauf que localhost devient localhost:5432 dans le message d'erreur.

  6. #6
    Membre averti

    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 338
    Points : 404
    Points
    404
    Par défaut
    Bonjour

    Votre fichier hosts qui se trouve dans un sous répertoire du SYSTEM32 de Windows ne contient pas la ligne suivante.


  7. #7
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    si

  8. #8
    Membre averti

    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 338
    Points : 404
    Points
    404
    Par défaut
    Dans une fenetre DOS faire
    si ça répond, faire un .

  9. #9
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Le problême a été résolu. En fait je faisais -lpq dans l'éditeur de liens, et il s'avère que sous windows il faut compiler avec -lpqdll. Merci à vous pour vos réponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. impossible de se connecter à une base postgre
    Par nicko27 dans le forum Access
    Réponses: 7
    Dernier message: 20/09/2006, 17h32
  2. [PEAR][DB] Impossible de me connecter à une base mssql
    Par VincenzoR dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 22/07/2006, 08h35
  3. Réponses: 20
    Dernier message: 13/01/2006, 20h42
  4. [Connexion] impossible de se connecter autrement qu'en local
    Par sekiryou dans le forum Installation
    Réponses: 4
    Dernier message: 29/03/2004, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo