Bonjour,

Bien qu'il y a ait déjà des posts sur ce sujet, je ne trouve pas ma réponse dans ce qui est proposé.

Je suis sur Linux. j'ai donc un script shell qui à un moment donné appelle un script sql. A l'origine la base de données cible étant ORACLE, j'avais sqlplus.
Maintenant, avec postgres, j'utilise donc psql. Voilà pour l'antériorité

Donc, le contenu du fichier alertes_gsa.sql contenant le SQL est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT  PCMS_CHDOC_DATA.PRODUCT_ID||':'||PCMS_CHDOC_DATA.CH_DOC_ID||':'||PCMS_CHDOC_DATA.ACTION_DATE||':'||PCMS_CHDOC_DATA.NUMERO_LHENA
FROM    PROD.PCMS_CHDOC_DATA PCMS_CHDOC_DATA
WHERE   ((PCMS_CHDOC_DATA.STATUS='PRE-PROD') OR (PCMS_CHDOC_DATA.STATUS='REC_PROD'))
AND     (PCMS_CHDOC_DATA.CH_DOC_TYPE='DM')
AND     (PCMS_CHDOC_DATA.ACTION_DATE < to_date(':date1', 'yyyy-mm-dd HH24:MI,SS'))
ORDER BY PCMS_CHDOC_DATA.PRODUCT_ID, PCMS_CHDOC_DATA.CH_DOC_ID ;
Maintenant, lorsque je lance l'ordre SQL suivant, ça plante :
psql: FATAL: database "00:00:00'" does not exist
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 psql -U prod -f /dimdata/surveillance/scripts/alertes/alertes_gsa.sql --set date1=\'2019-01-01 00:00:00\'
Pourtant, si je remplace date1 par sa valeur dans le sql, j'ai bien ce que je veux

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT  PCMS_CHDOC_DATA.PRODUCT_ID||':'||PCMS_CHDOC_DATA.CH_DOC_ID||':'||PCMS_CHDOC_DATA.ACTION_DATE||':'||PCMS_CHDOC_DATA.NUMERO_LHENA
FROM    PROD.PCMS_CHDOC_DATA PCMS_CHDOC_DATA
WHERE   ((PCMS_CHDOC_DATA.STATUS='PRE-PROD') OR (PCMS_CHDOC_DATA.STATUS='REC_PROD'))
AND     (PCMS_CHDOC_DATA.CH_DOC_TYPE='DM')
AND     (PCMS_CHDOC_DATA.ACTION_DATE < to_date('2019-01-01 00:00:00', 'yyyy-mm-dd HH24:MI,SS'))
ORDER BY PCMS_CHDOC_DATA.PRODUCT_ID, PCMS_CHDOC_DATA.CH_DOC_ID ;
psql -U prod -f /dimdata/surveillance/scripts/alertes/alertes_gsa.sql

résultat OK
?column?
--------------------------------------------------------------
ADTNETOPDV:ADTNETOPDV_DM_1:2015-11-23 09:45:30:201410CH625
ALTA:ALTA_DM_223:2017-12-15 15:12:33:CHG0043521
ALTAIX:ALTAIX_DM_15:2016-09-02 17:22:39:chg0036399
J'ai essayé pas mal de choses qui ont été dites dans les différents posts, mais ça ne marche pas chez moi. Est-ce qu'il y auraient des paramètres spéciaux à positionner (genre fichier .conf) ?
Merci pour vos réponses