Script SQL de Oracle con el comando SPOOL

Arch -  
 Arch -
Hola,

Estoy creando un script SQL utilizando el comando 'SPOOL <nombre de archivo>', mi SQL, luego 'SPOOL OFF'.
Aclaro que mi consulta funciona (la he probado por separado).
Pero ahora obtengo un error [Err] ORA-00922: opción faltante o inválida y creo que es un problema de sintaxis (me da este error cuando encuentra un ';', ¿debería no ponerlo en absoluto?).

¡Gracias por tu ayuda!

1 respuesta

DROE Mensajes publicados 148 Fecha de registro   Estado Miembro Última intervención   48
 
Hola,

copia/pega tu script aquí y tendrás una respuesta rápida.

si no es así, es:

SPOOL F:\mi_log.txt
o
SPOOL mi_log.txt

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

SPOOL OFF

http://www.dba-ora.fr/
--
La experiencia es el nombre que cada uno le da a sus errores.
2
Arch
 
En realidad, al ejecutar los comandos uno por uno en la consola de SQL Plus funciona, pero al lanzar el script en Navicat me da este error... ¿es normal?
0
DROE Mensajes publicados 148 Fecha de registro   Estado Miembro Última intervención   48
 
Los comandos uno por uno y por archivo de script funcionan en SQL*PLUS porque SPOOL nombre_del_archivo y SPOOL OFF son comandos de SQL*PLUS.
Bajo TOAD funciona, ahora Navicat no sé si gestiona la salida (SPOOL).
0
Arch
 
Efectivamente, no tengo esa impresión. ¡Gracias por tus respuestas!
Ahora, ¿sabes por qué siempre hay declaraciones SQL en el archivo de salida (la consulta y los comandos), incluso habiendo definido el echo en off?
0
DROE Mensajes publicados 148 Fecha de registro   Estado Miembro Última intervención   48
 
SET ECHO OFF
solo funciona en scripts, no en modo interactivo.

Hay que llamar al script, no ejecutarlo en modo interactivo.

SQLPLUS login/password@tns @TU_SCRIPT.SQL

http://www.dba-ora.fr
0
Arch
 
pues escucha, está impecable, muchas gracias
0