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

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