Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 Re : Site PostgreSQL.fr » Niveau débutant sur postgres : connection base dans un script » 18/07/2016 11:00:59
merci pour vos retours... mais je n'y arrive vraiment pas. Plus nul tu meurs.
=======================
le programme .bat qui est sensé lancer la connection. Il se connecte bien pais n'exécute pas la procédure.
set ECHO=all
set EXPPARM=PGUSER
for /F %%i in ('call wexpparmrtv %EXPPARM%') do set PGUSER=%%i
set EXPPARM=PGPASSWORD
for /F %%i in ('call wexpparmrtv %EXPPARM%') do set PGPASSWORD=%%i
set DATABASE=DBCRM-REC
psql -U %PGUSER% %DATABASE%
\i c:/wsys/lsystst/tst_sortie_csv.sql
exit;
================================
La procédure appelée : tst_sortie_csv.sql
set colsep ";"
set trimspool on
set heading off
set echo off
set feedback off
set pagesize 0
spool %LSYSWRK%\test_sql_sortie.csv
select * from history where HisUpd < current_date -120;
spool off
Voici la log
=========================
C:\wsys\lsystst>test_connect_psq
C:\wsys\lsystst>set ECHO=all
C:\wsys\lsystst>set EXPPARM=PGUSER
C:\wsys\lsystst>for /F %i in ('call wexpparmrtv PGUSER') do set PGUSER=%i
C:\wsys\lsystst>set PGUSER=postgres
C:\wsys\lsystst>set EXPPARM=PGPASSWORD
C:\wsys\lsystst>for /F %i in ('call wexpparmrtv PGPASSWORD') do set PGPASSWORD=%i
C:\wsys\lsystst>set PGPASSWORD=*****
C:\wsys\lsystst>set DATABASE=DBCRM-REC
C:\wsys\lsystst>psql -U postgres DBCRM-REC
psql (9.4.5)
Attention : l'encodage console (850) diffère de l'encodage Windows (1252).
Les caractères 8 bits peuvent ne pas fonctionner correctement.
Voir la section « Notes aux utilisateurs de Windows » de la page
référence de psql pour les détails.
Saisissez « help » pour l'aide.
DBCRM-REC=#
================================
Je patauge
Help !
Merci d'avance
#2 Re : Site PostgreSQL.fr » Niveau débutant sur postgres : connection base dans un script » 12/07/2016 13:24:40
Nickel pour la connexion par contre pour faire exécuter le fichier sql, pas terrible
ma commande :
C:\Users\ralain>psql -U postgres DBCRM-REC -f c:/wsys/lsystst/tst_sortie_csv.sql
psql : attention : option supplémentaire « -f » ignorée
psql : attention : option supplémentaire « c:/wsys/lsystst/tst_sortie_csv.sql »
ignorée
psql (9.4.5)
Attention : l'encodage console (850) diffère de l'encodage Windows (1252).
Les caractères 8 bits peuvent ne pas fonctionner correctement.
Voir la section « Notes aux utilisateurs de Windows » de la page
référence de psql pour les détails.
Saisissez « help » pour l'aide.
DBCRM-REC=#
Le fichier sql que je veux exécuter :
set colsep ";"
set trimspool on
set heading off
set echo off
set feedback off
set pagesize 0
spool %LSYSWRK%\test_sql_sortie.csv
select * from history where HisUpd < current_date -120;
spool off
Peut-on enchaîner l'exécution du ficher sql sur la même ligne que la connexion ?
Merci pour votre aide
Alain
#3 Re : Site PostgreSQL.fr » Niveau débutant sur postgres : connection base dans un script » 12/07/2016 10:28:23
Merci pour ton retour.
Ca m'a bien aidé
#4 Site PostgreSQL.fr » Niveau débutant sur postgres : connection base dans un script » 11/07/2016 17:56:31
- alain29100
- Réponses : 8
Bonjour,
Je suis vraiment désolé de faire appel à vous pour un question aussi basique... =
voici mon besoin : au travers un ordonnanceur je dois lancer un script de purge de tables postgres.
Je suppose que je dois dans mon script d'abord me connecter à la base avec un user et un pwd bien défini avant de lancer ma requête "delete from "table" where "zone" < current_date -60" (je veux purger tous les éléments > à 2 mois.
ma requête pour me connecter :
psql -U "user" -W "passwd" "Nom_Base"
J'ai beau mettre les paramètres dans tous les sens il n'accepte pas ma requête
Merci pour votre aide
Un breton embarrassé
Pages : 1