Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 PSQL » Exécution commandes sql dans batch » 28/06/2013 21:22:48
- Moua
- Réponses : 0
Bonjour,
Je me connecte à ma base de donnée Postgresql dans la commande windows, dans un fichier .bat. Voici les lignes de mon fichier :
---------------------------
cd c:\pgsql_9_1\pgsql\bin
call startserver.bat
cd c:\pgsql_9_1\pgsql\bin
call psql pgSimonGTFS
---------------------------
Jusqu'ici, tout va bien. Le serveur s'allume, et je me connecte à ma base de donnée appelée pgSimonGTFS.
Cependant.
Toutes les autres commandes sont ignorées. Si je copie-colle les requêtes sql dans la cmd windows, j'ai l'exécution désirée. Mais c'est comme si le fichier .bat restait bloqué dans la base de donnée, et ne réponds plus qu'à des commandes psql.
J'ai mis mes commandes subséquantes dans un fichier .sql (que j'appelle très bien en copiant-collant l'instruction ci-dessous dans la cmd windows, mais pas si l'instruction est dans le .bat)
call \i table_voyages.sql
Mon objectif est donc d'appeler mes instructions (contenues dans le fichier .sql) à partir d'un fichier .bat, où, du moins, pouvoir exécuter des commandes psql automatiquement (j'appelle le tout à partir de VBA), après que j'ai ouvert la base de donnée.
Merci beaucoup pour votre temps!
.
.
.
EDIT :
J'ai trouvé comment résoudre mon problème. Il me faut écrire mes commandes subséquentes comme ceci :
plsql -c "instruction-sql-tel-que-select-etc" -d nom-de-ma-base-de-donnée nom-d'utilisateur
ex :
psql -c "select z_table_voyages('%1')" -d pgSimonGTFS sparent
psql -c "copy table_voyages to 'c:\pgsql_9_1\table_voyages.csv' csv header;" -d pgSimonGTFS sparent
Pages : 1