Vous n'êtes pas identifié(e).
L'utilisateur Windows est bien postgres et non j'étais sous une session d'administration.
Lorsque je me place sous la session postgres, la commande fonctionne sans problème... cependant le service ne veut toujours par démarrer.
J'ai modifier le fichier pgpass.conf, afin qu'il ait un mdp pour se connecter a la db. C'est pour cela que cela ne fonctionnait pas sous la session d'administration. Maintenant la commande psql fonctionne
psql -U postgres -h <serv_ip_addr> -d postgresLe fichier pgpass.conf est placé dans deux répertoires
Il a été créé automatiquement dans celui-ci
C:\Users\postgres\AppData\Roaming\postgresqlet je l'ai copié dans
C:\Users\postgres\AppData\postgresqlafin de correspondre a la documentation technique, qui indique %APPDATA%\postgresql
Un peu plus de précision:
Je ne sais pas si ça a un rapport, mais lors de l'installation de pg j'ai copié le .exe dans le répertoire de pgAdmin III, puis exécuté le script sql. Ensuite lorsque j'ai lancé la ligne de commande permettant l'installation du service, j'ai obtenu des erreurs m'indiquant que des librairies étaient manquantes (si mes souvenirs sont bon). J'ai trouvé sur un fofo anglais, qui indiquait cela était du au fait que pgAgent recherchait des dll 32bits et qu'il ne les trouvaient pas car celles installées étaient en 64bits. Il fallait donc récupérer les .dll 32bits d'une installation de postgres x86, et ensuite les copier dans le répertoire de pgAgent, ce que j'ai fait.
Suite à cela, pgAgent s'est installé mais ne veut toujours pas démarrer. Voyez-vous un rapport ?
Merci de prendre le temps de me répondre.
Dans la CLI, lorsque je tape la commande suivante
psql -U postgres -h <db_serv_ip_adr> -d postgresl'application me demande le mot de passe de l'utilisateur postgres. Je suppose donc que l'on peut dire que l'appli ne trouve pas le fichier.
Bonjour,
J'ai pu installer pgAgent sur le serveur cependant lors du démarrage du service, une erreur se produit:
La ligne d'installation du service:
"C:\Program Files (x86)\pgAdmin III\1.12\pgagent" INSTALL pgAgent -u postgres -p <win_usr_pwd> hostaddr=<db_serv_ip_addr> dbname=postgres user=postgresJ'ai configuré le fichier pgpass.conf, situé dans "%APPDATA%/Roaming/postgresql/", par souci de suivre les consignes de la documentation je l'ai également placé dans "%APPDATA%/postgresql/" de l'utilisateur exécutant le service.
<db_serv_ip_addr>:5432:postgres:postgres:<db_user_pass>Lorsque je tente de démarré le service j'ai le message suivant dans l'eventlog/Application de windows serveur.
Couldn't create the primary connection (attempt 2): fe_sendauth: no password suppliedCa fait deux jours que je cale sur ce problème et que je parcours les forums en quête de solution.
J'ai l'impression que pgAgent n'arrive pas à trouver le fichier de mot de passe...
Merci pour votre aide.
Bonjour,
J'ai résolu le problème. Le bug était entre la chaise et le clavier, mauvaise chaîne de connexion.
J'ai remis une ligne de code qui semble ne pas générer d'erreur:
querry = "INSERT INTO table1(id_line, datereleve, temperature, ensoleillement,wattcumul, watts, ksh) VALUES(@id, @dt, @t, @l, @c, @p, 0)";Ma trace dans le fichier de log me donne le résultat suivant:
...
14:01:36 - THQL (45): Traitement des données brutes (10100007): Début du traitement des données
14:01:36 - THQL (45): Traitement des données brutes (10100007): Injection des données!
14:01:36 - THQL (45): Traitement des données brutes (10100007): Injection des données terminée.
14:01:36 - THQL (45): Traitement des données brutes (10100007): Procédure complète en (70Ms)!!
...
Le procédure complète est tracé après le commit, ce qui me laisse pensé que les données doivent être correctement insérée.
Bonjour,
Je suis entrain de m'arracher les cheveux sur le code suivant.
Je n'arrive pas à insérer mes données dans la db en faisant mon commit.
Petit détail ce code se trouve dans un Thread à usage unique (quel gaspillage)
Le serveur Pg9 fonctionne sur un Windows 2008R2 x64 et l'application sur un serveur 2008SP1 X86. La version de NpgSql 2.0.11.
Le FrameWorks 3.5 Sp1 est installé sur les deux serveurs
L'objet de connexion est instancié dans le constructeur
_oConn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["dbpg"].ConnectionString);la variable id est récupérée à l'aide d'un sélect qui lui fonctionne sans problèmes.
//Début de la transaction avec la bdd
trans = _oConn.BeginTransaction();
//Ajout des données dans la bdd
querry = "INSERT INTO table1(id_line, datereleve, temperature, ensoleillement,wattcumul, watts, ksh) VALUES(@id, @dt, @t, @l, @c, @p, 0)";
foreach (RowData row in lignes)
{
NpgsqlCommand InsertQuerry = new NpgsqlCommand(querry, _oConn, trans);
InsertQuerry.Parameters.Add(new NpgsqlParameter("id", idClient));
InsertQuerry.Parameters.Add(new NpgsqlParameter("dt", row.Date));
InsertQuerry.Parameters.Add(new NpgsqlParameter("t", row.Tmp));
InsertQuerry.Parameters.Add(new NpgsqlParameter("l", row.Lum));
InsertQuerry.Parameters.Add(new NpgsqlParameter("c", row.Cum));
InsertQuerry.Parameters.Add(new NpgsqlParameter("p", row.Prod));
int ret = InsertQuerry.ExecuteNonQuery();
if (ret != 1)
{
trans.Rollback();
throw new Exception("Erreur Sql, Donnée non insérée dans la bdd. Rollback done!!");
}
}
//Validation de l'ajout des lignes dès l'ensemble à été inséré
trans.Commit();il n'y a pas d'exception lancée.
Je vous remercie pour votre soutient