Ecrire la sortie de sqlplus dans un fichier

En utilisant sqlplus.exe, je cherche un moyen d’écrire une sortie sqlplus dans un fichier.

Y at-il de toute façon je peux le faire, actuellement la sortie est écrite uniquement sur la console.

Vous pouvez utiliser la commande SPOOL pour écrire les informations dans un fichier.

Avant d’exécuter un type de commande, procédez comme suit:

 SPOOL  

Toutes les sorties de commandes suivantes seront écrites dans le fichier de sortie.

Pour arrêter le type d’écriture de sortie de commande

 SPOOL OFF 

Notez également que la sortie SPOOL est pilotée par quelques parameters SQLPlus:

  • SET LINESIZE nn – largeur de ligne maximale; Si la sortie est plus longue, cela affichera le contenu de chaque ligne de résultat.

  • SET TRIMSPOOL OFF|ON – si elle est OFF (valeur par défaut), chaque ligne de sortie sera LINESIZE par LINESIZE . Si cette option est ON , chaque ligne de sortie sera réduite.

  • SET PAGESIZE nn – nombre de lignes à afficher pour chaque répétition de l’en-tête. Si défini à zéro, aucun en-tête n’est sorti; juste le détail.

Ce sont les biggies, mais il y en a d’autres à considérer si vous voulez juste la sortie sans tout le bavardage SQLPlus.

Assurez-vous d’avoir access au répertoire que vous essayez de mettre en queue. J’ai essayé de spouler à la racine et il n’a pas créé le fichier (par exemple, c:\test.txt ). Vous pouvez vérifier où vous spoulez en émettant une commande spool .

juste pour enregistrer mes propres déductions de tout cela est (pour enregistrer la sortie DBMS_OUTPUT sur le client, en utilisant sqlplus):

  • peu importe si j’utilise Toad / avec polling ou sqlplus, pour un long script d’exécution avec des commandes occasionnelles dbms_output.put_line, j’obtiendrai la sortie à la fin de l’exécution du script
  • définir la sortie du serveur sur; et dbms_output.enable (); devrait être présent dans le script
  • pour sauvegarder la sortie, la commande SPOOL ne suffisait pas pour que les lignes DBMS_OUTPUT soient imprimées dans un fichier – il fallait utiliser la redirection habituelle> Windows CMD. les mots de passe, etc., peuvent être envoyés à l’invite vide après avoir appelé sqlplus. aussi les directives “/” et “exit”; La commande doit être placée dans le script ou donnée de manière interactive en tant que mot de passe ci-dessus (sauf si elle est spécifiée lors de l’appel de sqlplus)