Vous n'êtes pas identifié(e).
Pages : 1
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
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
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
Pages : 1