Sql*Plus appelé depuis un Shell
Bonjour,
voilà une question "classique" à laquelle j'ai trouvé 10 000 réponses sur le net mais aucun ne fonctionne pour mon cas qui me parait pourtant assez banal :cry:
J'ai un shell :
Code:
1 2 3 4 5 6
| #!/bin/ksh
#---------------------------------------------------------------------
echo "LANCEMENT !"
SORTIE=`sqlplus -S apps/apps @./sql.sql`
echo $SORTIE
echo "FIN !" |
Et je veux que la variable SORTIE soit alimentée par le fichier "sql.sql" qui est :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| Set heading OFF
Set linesize 1000
Set feedback OFF
Set echo OFF
Set verify OFF
Set serveroutput On
Set SERVEROUTPUT ON SIZE 1000000
WHENEVER sqlerror exit FAILURE ROLLBACK;
declare
i number;
begin
dbms_output.put_line('Mes messages de LOG');
dbms_output.put_line('Mes messages de LOG');
dbms_output.put_line('Mes messages de LOG');
null;
return 0;
exception
when others then
null;
end;
/
show error;
exit; |
Le return ne fonctionne pas mais c'est l'idée de ce que je voudrais.
Je ne veux pas que SORTIE contienne un grep du spool de mon sql car j'ai plein de message de debug, j'ai essayé exit 0; , j'ai essayé WHENEVER sqlerror exit 1 ROLLBACK; j'ai essayé un :sortie = 0; enfin tout ce que je trouvais mais rien ne fonctionne.
Auriez-vous une idée ?
Merci