web-dev-qa-db-fra.com

Oracle SqlPlus - sauvegarde de la sortie dans un fichier mais ne s'affiche pas à l'écran

À l'aide de SqlPlus pour Oracle, comment puis-je enregistrer la sortie d'une requête dans un fichier sans l'afficher sur le terminal/invite.

33
dharm0us

Directement dans le manuel SQL * Plus
http://download.Oracle.com/docs/cd/B19306_01/server.102/b14357/ch8.htm#sthref1597

SET TERMOUT

SET TERMOUT OFF supprime l'affichage afin que vous puissiez spouler la sortie d'un script sans le voir à l'écran.

Si la mise en file d'attente dans le fichier et l'écriture sur le terminal ne sont pas nécessaires, utilisez SET TERMOUT OFF dans> Scripts SQL pour désactiver la sortie du terminal.

SET TERMOUT n'est pas pris en charge dans iSQL * Plus

42

Essaye ça:

SET TERMOUT OFF; 
spool M:\Documents\test;
select * from employees;
/
spool off;
20
Mohammad

Essaye ça:

sqlplus -s ${ORA_CONN_STR} <<EOF >/dev/null
10
Ashish Anand

set termout off ne fonctionne pas à partir de la ligne de commande, alors créez un fichier, par exemple termout_off.sql contenant la ligne:

set termout off

et appelez cela depuis l'invite SQL:

SQL> @termout_off
2
pelms