[Oracle] Script SQL avec commande SPOOL

Fermé
Arch - Modifié par Arch le 5/04/2012 à 11:18
 Arch - 10 avril 2012 à 14:14
Bonjour,

Je suis en train de créer un script SQL en utilisant la commande 'SPOOL <nom fichier>', ma SQL, puis 'SPOOL OFF'.
Je précise que ma requête fonctionne (testée à part).
Mais là j'obtiens une erreur [Err] ORA-00922: missing or invalid option et je pense que c'est un problème de syntaxe (il me sort cette erreur quand il rencontre un ';', faut-il ne pas en mettre du tout?).

Merci de votre aide!

1 réponse

DROE Messages postés 148 Date d'inscription mardi 5 mai 2009 Statut Membre Dernière intervention 26 juillet 2012 48
8 avril 2012 à 21:58
Hello,

copie/colle ton script ici et tu auras une réponse rapide.

sinon c'est :

SPOOL F:\mon_log.txt
ou
SPOOL mon_log.txt

SELECT ....
FROM
WHERE.... ;

SPOOL OFF


http://www.dba-ora.fr/
2
en fait en exécutant les commandes une par une dans la console de sql plus + ça fonctionne, mais en lançant le script dans navicat ça me donne cette erreur ...c'est normal?
0
DROE Messages postés 148 Date d'inscription mardi 5 mai 2009 Statut Membre Dernière intervention 26 juillet 2012 48
10 avril 2012 à 10:16
Les commandes une par une et par fichier script fonctionnent sous SQL*PLUS car SPOOL nom_de_fichier et SPOOL OFF sont des commandes SQL*PLUS.
Sous TOAD cela fonctionne, maintenant Navicat je ne sais pas si il gère le output (SPOOL).
0
effectivement, j'ai pas l'impression. Merci pour tes réponses!
Maintenant tu saurais pourquoi il y toujours les déclarations SQL dans le fichier de sortie (la requête et les commandes), même en ayant défini le echo à off ?
0
DROE Messages postés 148 Date d'inscription mardi 5 mai 2009 Statut Membre Dernière intervention 26 juillet 2012 48
10 avril 2012 à 12:20
SET ECHO OFF
fonctionne que dans les scripts, pas en mode interactif.

Il faut appeler le script pas l'exécuter en mode interactif

SQLPLUS login/password@tns @TON_SCRIPT.SQL

http://www.dba-ora.fr
0
bah écoute c'est impeccable, merci beaucoup
0