Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Escribir al final de fichero con spool

Estas en el tema de Escribir al final de fichero con spool en el foro de Oracle en Foros del Web. Buenos días, ¿alguien me podría decir si el spool permite escribir al final de un fichero (si éste ya estuviera creado)?. Gracias...
  #1 (permalink)  
Antiguo 03/12/2007, 04:00
 
Fecha de Ingreso: noviembre-2007
Mensajes: 121
Antigüedad: 17 años
Puntos: 0
Escribir al final de fichero con spool

Buenos días, ¿alguien me podría decir si el spool permite escribir al final de un fichero (si éste ya estuviera creado)?.

Gracias
  #2 (permalink)  
Antiguo 03/12/2007, 05:45
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Re: Escribir al final de fichero con spool

Hola,

Código:
SQL> spool fichero.log append
Tambien estan las opciones CREATE y REPLACE.

Saludos
  #3 (permalink)  
Antiguo 03/12/2007, 06:42
 
Fecha de Ingreso: noviembre-2007
Mensajes: 121
Antigüedad: 17 años
Puntos: 0
Re: Escribir al final de fichero con spool

muchas gracias :)
  #4 (permalink)  
Antiguo 03/12/2007, 08:36
 
Fecha de Ingreso: noviembre-2007
Mensajes: 121
Antigüedad: 17 años
Puntos: 0
Re: Escribir al final de fichero con spool

He probado lo del append pero no me rula :( lo he escrito tal cual me lo has puesto

Gracias
  #5 (permalink)  
Antiguo 03/12/2007, 08:45
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Re: Escribir al final de fichero con spool

Hola,

Por que no va?, que sucede?

Código:
SQL> ho pwd
/home/oracle

SQL> spool 1.log
SQL> select * from dual;

D
-
X

SQL> spool off
SQL> spool 1.log append
SQL> select * from dual;

D
-
X

SQL> spool off
SQL> ho 
oracle@buo:~> more 1.log 
SQL> select * from dual;

D                                                                               
-                                                                               
X                                                                               

SQL> spool off
SQL> select * from dual;

D                                                                               
-                                                                               
X                                                                               

SQL> spool off
Aqui en el ejemplo me hace un append sin problemas.

Saludos
  #6 (permalink)  
Antiguo 03/12/2007, 09:12
 
Fecha de Ingreso: noviembre-2007
Mensajes: 121
Antigüedad: 17 años
Puntos: 0
Re: Escribir al final de fichero con spool

Pues te cuento, me dice esto:

SP2-0333: Illegal spool file name: "p.txt append" (bad character: ' ')

y lo que tengo es lo siguiente. un .bat que lo unico q hace es conectarse al sqlplus y lanzarme un sql:

el sql lo q haces es

spool p.txt append
select ddate from data;

spool off;

el fichero p.txt ya está creado

Gracias
  #7 (permalink)  
Antiguo 03/12/2007, 09:41
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Re: Escribir al final de fichero con spool

Hola,

Si, eso es correcto, la opcion de CREATE/REPLACE/APPEND aparece en 10g, en 9i y anteriores versiones solo se podia hacer un SPOOL ON|OFF. Lo acabo de confirmar con la documentacion de SQL*Plus.

El error se da porque el SQL*Plus piensa que el nombre del fichero es "p.txt append" .

Saludos
  #8 (permalink)  
Antiguo 03/12/2007, 09:43
 
Fecha de Ingreso: noviembre-2007
Mensajes: 121
Antigüedad: 17 años
Puntos: 0
Re: Escribir al final de fichero con spool

Ok, muchas gracias. ¿Alguna idea de como lo puedo hacer? Es que por lo que he leido el UTL_FILE escribe el fichero en el lado del servidor y a mi me interesa tenerlo en el cliente (entre otras cosas porque desconozco la ruta del servidor).

Gracias
  #9 (permalink)  
Antiguo 03/12/2007, 09:48
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Re: Escribir al final de fichero con spool

Hola,

Recien se me ocurre, si instalas un cliente de 10g, aun cuando se este conectando a una base de datos 9i, podras lograr que el SQL*Plus haga un SPOOL con APPEND.

Saludos
  #10 (permalink)  
Antiguo 03/12/2007, 13:39
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Re: Escribir al final de fichero con spool

Es posible, aunque creo ( y puedo estár equivocado ) que desde una 10g no se puede acceder a una 9i. Me suena de algo que el protocolo de comunicación de cada una es diferente y posiblemente no se entiendan.
Aunque nada mejor que probarlo ¿ no ?

  #11 (permalink)  
Antiguo 03/12/2007, 14:02
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Re: Escribir al final de fichero con spool

Hola,

Muy buena observacion jc3000, para los que tienen acceso a metalink lean la nota Note:207303.1 donde se describe la compatibilidad entre diferentes versiones Cliente/Servidor de Oracle.

Para este caso en particular, la columna vertical es la version del cliente y la columna horzontal es la version del servidor.

Código:
       11.1.0  	10.2.0 10.1.0  9.2.0  9.0.1
11.1.0 	Yes 	Yes 	Yes 	ES  	No
10.2.0 	Yes 	Yes 	Yes 	ES  	No
10.1.0 	Yes 	Yes 	Yes 	ES      Was
9.2.0 	ES      ES      ES      ES      Was
Donde:
Yes: Esta soportado.
ES: Soportado con soporte extendido, basicamente solo se da soporte para bugs.
Was: Estaba soportado, pero ahora no porque alguna de las dos versiones no esta soportada, en este caso la 9.0.1

En conclusion,
1. Si la base de datos es 9.0.1, no es recomendado trabajar con un cliente 10g.
2. Si la base de datos es 9.2.0, puedes trabajar bien, pero esta soportado a partir de 9.2.0.4, no asi con versiones de Oracle 9.2.0.1, 9.2.0.2 y 9.2.0.3

Nota: No soportado significa que no obtendras ningun tipo de soporte de Oracle, pero puede funcionar. Eso ya queda en las pruebas de cada uno.

Saludos

Última edición por matanga; 06/03/2008 a las 13:07
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:15.