Vous n'êtes pas identifié(e).

#1 22/03/2010 11:26:33

sylvinhio
Membre

Problème Test Connexion base PostgreSQL 8.4

Bonjour,

j'ai créé un petit utilitaire qui teste l'existence d'une base de données nommée "base_Production"

Cet utilitaire exécute simplement la commande 'psql -U postgres "base_Production"' et retourne la valeur de connexion, si la connexion est possible.

Par défaut, la connexion ne se fait pas et mon utilitaire me retourne que la base n'existe pas (car connexion impossible).
- le service tourne bien,
- le pgpass.conf est ok

Lorsque je tape cette instruction en ligne de commande depuis le répertoire bin de PostgreSQL : 'psql -U postgres "base_Production"' la connexion se fait bien > Je ne comprends pas pourquoi cela ne fonctionne pas depuis mon utilitaire ?


Si maintenant j'accède à PgAdmin, et j'ouvre ma base de données (sans saisie du mot de passe puisqu'il est déjà dans le pgpass.conf), alors mon utilitaire fonctionne et arrive bien à se connecter à la base de données.

> Je ne comprends pas d'où vient ce problème.

Si quelqu'un à des idées ???

Merci d'avance pour votre aide

Cordialement

Hors ligne

#2 22/03/2010 11:49:38

Marc Cousin
Membre

Re : Problème Test Connexion base PostgreSQL 8.4

Sans plus d'information difficile de vous aider.

Dans quel langage de programmation travaillez vous ? Ne pouvez vous pas dans ce langage récupérer la sortie de la commande psql (stderr je pense), qui vous donnera la cause de l'erreur rencontrée par psql.


Marc.

Hors ligne

#3 23/03/2010 15:20:39

sylvinhio
Membre

Re : Problème Test Connexion base PostgreSQL 8.4

Merci pour votre retour,

L'applicatif est fait en C#.
j'ai trouvé d'ou venait le problème.
L'invocation de ma ligne de commande est fait par une instruction WaitForExit() sur mon objet Process.

Or il y avait un timeout d'1 seconde [WaitForExit(1000)] qui ne laissait pas le temps à mon applicatif de se connecter.

En supprimant ce timeout, le tout fonctionne correctement.

Hors ligne

Pied de page des forums