#1 Tue 28 May 2013 17:08
- simo lay
- Participant assidu
- Date d'inscription: 8 Dec 2011
- Messages: 172
Saut de ligne Batch
Bonjour,
j'ai besoin de votre aide,je souhaiterai exécuter un traitement (une dizaine de requête enchainées de PostgreSQL) chaque jours à une heure fixe, pour cela j'ai fait le batch suivant:
Code:
@echo off "C:\Program Files\PostgreSQL\9.1\bin\psql.exe" -h 00.00.00 -U postgres -d BD_test -p 5432 -c "create table saf (id text,nom text); insert into saf (id,nom) values ('ttt','rrrr')";
les problemes que je trouve:
je voulais savoir comment spécifier le mot de passe dans le batch (parce que maintenant à chaque fois que je lance le batch il me demande le mot de passe une fois de le tape ça marche pas de probleme).
deuxième question : mon traitement contient 10 requête enchainées et là lorsque toutes les requêtes sont dans la même ligne séparées par des points virgule comme dans l'exemple, mon batch fonctionne par contre si je veux une requête par ligne (je fait un saut de ligne) ça marche pas est ce qu'il y'a moyen de régler ce problème.
merci
Dernière modification par simo lay (Tue 28 May 2013 17:14)
Hors ligne
#2 Tue 28 May 2013 17:24
- VianneyD
- Participant assidu
- Date d'inscription: 30 May 2011
- Messages: 153
Re: Saut de ligne Batch
Bonjour,
Pour le mot de passe, il faut spécifier -W [ton_mdp] dans la commande
S'il y a plusieurs commandes à exécuter, le plus simple selon moi est de créer un fichier sql et de l'executer avec l'option -f [ton_fichier_sql].
Bon courage
Vianney Dugrain
Hors ligne
#3 Tue 28 May 2013 18:09
- simo lay
- Participant assidu
- Date d'inscription: 8 Dec 2011
- Messages: 172
Re: Saut de ligne Batch
Merci VianneyD pour votre réponse, j'ai testé votre piste est j'ai un message d'erreur ( peut être au niveau de syntaxe).
Code:
@echo off "C:\Program Files\PostgreSQL\9.1\bin\psql.exe" -h 00.00.0.00 -U postgres -d BD_test -p 5432 -w 123321 -f D:\req.sql;
je sais pas si j'ai une erreur dans ma ligne.
Hors ligne
#4 Tue 28 May 2013 18:14
- VianneyD
- Participant assidu
- Date d'inscription: 30 May 2011
- Messages: 153
Re: Saut de ligne Batch
Essaie avec -W (majuscule) pour le mot de passe.
Vianney Dugrain
Hors ligne
#5 Mon 03 June 2013 08:12
- simo lay
- Participant assidu
- Date d'inscription: 8 Dec 2011
- Messages: 172
Re: Saut de ligne Batch
Bonjour,
Après avoir suivi ta piste VianneyD et quelques recherche j'ai pu trouvé la bonne réponse et là voila:
Code:
echo traitement set PGPASSWORD=XXXXX "C:\Program Files\PostgreSQL\9.1\bin\psql.exe" -h XX.XX.X.XXX -U user_test -d bd_test -p 5432 -f C:\test.txt
merci
Dernière modification par simo lay (Mon 03 June 2013 08:13)
Hors ligne