Création d'un fichier depuis un autre fichier .bat

Fermé
debutBatch Messages postés 1 Date d'inscription vendredi 5 octobre 2012 Statut Membre Dernière intervention 5 octobre 2012 - 5 oct. 2012 à 17:11
 debutBatch - 9 oct. 2012 à 16:35
Bonjour,


Quelqu'un pourrais me dire pourquoi je n'arrive pas à générer mon fichier correctement ....

Voici le contexte :

J'ai un fichier generer.bat ( batch), qui contient un ensemble de commande pour générer un fichier requete.sql qui devrais contenir un ensemble d'instruction et une requête sql.

Le problème est que j'arrive à générer le fichier requete.sql mais sans la requête ...

Quelqu'un pourras me dire ce qui ne vas pas ??

Merci d'avance pour vos réponses ...


Ci-dessous le corps du fichier generer.bat ( a mettre dans un fichier .bat et à exécuter pour voir le résultat)

Rem le corp du fichier generer.bat
Rem update
Rem creation du fichier requete.sql
del requete.sql;
rem del UpgGroupe.bat;
echo set define on; >> requete.sql
echo set pagesize 0; >> requete.sql
echo set termout off; >> requete.sql
echo set feedback off; >> requete.sql
echo set linesize 3999; >> requete.sql
echo set verify off; >> requete.sql
echo set heading off; >> requete.sql
echo Set trimspool on; >> requete.sql
echo spool UpgGroupe.bat; >> requete.sql

echo SELECT 'blablabla -driver oracle.jdbc.OracleDriver -url jdbc:oracle:thin:@loalhost:ORCL -password BLABLA -user BLABLA -link -NOM_BLABLA "'||O.NOM||'" -NOM_BLABLA_ID '"||O.NOM_ID||' -NOM_GROUPE "BLAL"' FROM MA_TABLE1 O, MA_TABLE2 T, MA_TABLE3 S where S.ID=T.SITE_ID and O.VAL_ID=T.VAL_ID and S.NOM like 'BLABLA'; >> requete.sql


echo spool off; >> requete.sql




Merci d'avance ...
A voir également:

3 réponses

et voila (mettre la redirection au début de la commande est souvent plus simple) :


Rem le corp du fichier generer.bat
Rem update
Rem creation du fichier requete.sql
del requete.sql;
rem del UpgGroupe.bat;
echo set define on; >> requete.sql
echo set pagesize 0; >> requete.sql
echo set termout off; >> requete.sql
echo set feedback off; >> requete.sql
echo set linesize 3999; >> requete.sql
echo set verify off; >> requete.sql
echo set heading off; >> requete.sql
echo Set trimspool on; >> requete.sql
echo spool UpgGroupe.bat; >> requete.sql
echo>>requete.sql SELECT 'blablabla -driver oracle.jdbc.OracleDriver -url jdbc:oracle:thin:@loalhost:ORCL -password BLABLA -user BLABLA -link -NOM_BLABLA "'||O.NOM||'" -NOM_BLABLA_ID '"||O.NOM_ID||' -NOM_GROUPE "BLAL"' FROM MA_TABLE1 O, MA_TABLE2 T, MA_TABLE3 S where S.ID=T.SITE_ID and O.VAL_ID=T.VAL_ID and S.NOM like 'BLABLA';
echo spool off; >> requete.sql

Bon courage!!
0
C'est génial ...

Merci Ludo
0
Bonjour Ludo,


Toujours le même problème .... je n'arrive pas à écrire cette requête dans le fichier de sortie requete.sql :

echo>>requete.sql SELECT 'blablabla -driver oracle.jdbc.OracleDriver -url jdbc:oracle:thin:@loalhost:ORCL -password BLABLA -user BLABLA -link -NOM_BLABLA "'||O.NOM||'" -NOM_BLABLA_ID '||O.NOM_ID||' -NOM_GROUPE "BLAL"' FROM MA_TABLE1 O, MA_TABLE2 T, MA_TABLE3 S where S.ID=T.SITE_ID and O.VAL_ID=T.VAL_ID and S.NOM like 'BLABLA';


Ce n'est pas exactement la même avec la précédente ....


Merci d'avance ....
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
8 oct. 2012 à 16:55
hello
essayer
echo SELECT 'blablabla -driver oracle.jdbc.OracleDriver -url jdbc:oracle:thin:@loalhost:ORCL -password BLABLA -user BLABLA -link -NOM_BLABLA "'||O.NOM||'" -NOM_BLABLA_ID '^|^|O.NOM_ID^|^|' -NOM_GROUPE "BLAL"' FROM MA_TABLE1 O, MA_TABLE2 T, MA_TABLE3 S where S.ID=T.SITE_ID and O.VAL_ID=T.VAL_ID and S.NOM like 'BLABLA'; >>requete.sql 
0
yes j'avais pas vu. La commande de dubcek fonctionne ou alors celle-ci:

echo>>requete.sql 'SELECT 'blablabla -driver oracle.jdbc.OracleDriver -url jdbc:oracle:thin:@loalhost:ORCL -password BLABLA -user BLABLA -link -NOM_BLABLA "'||O.NOM||'" -NOM_BLABLA_ID '^|^|O.NOM_ID^|^|' -NOM_GROUPE "BLAL"' FROM MA_TABLE1 O, MA_TABLE2 T, MA_TABLE3 S where S.ID=T.SITE_ID and O.VAL_ID=T.VAL_ID and S.NOM like 'BLABLA';'

En effet le caractère pipe ("|") est un caractère spécial qu'il faut signaler en mettant juste avant le caractère d'échappement Alt Gr + 9 ("^"), tout ça dans le but de neutraliser le méta caractère.

Bonne continuation
0
Merci à vous deux ....
0