Script SQL de Oracle con el comando SPOOL

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

  1. 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
    1. 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
    2. 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
    3. 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
    4. 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
    5. pues escucha, está impecable, muchas gracias
      0