necesito crear un nombrte de archivo con la fecha de hoy
http://forums.oracle.com/forums/thre...196147𯸳
spool C:\pdicom\AVSDIC_022_20060821_03.txt
select lpad(count(1),12,'0')||lpad(sum(monto),18,'0')||'0 0'||'R'||'' from dato
/
spool off

| |||
fecha en nombre de archivo Hola. necesito crear un nombrte de archivo con la fecha de hoy http://forums.oracle.com/forums/thre...196147𯸳 spool C:\pdicom\AVSDIC_022_20060821_03.txt select lpad(count(1),12,'0')||lpad(sum(monto),18,'0')||'0 0'||'R'||'' from dato / spool off ![]()
__________________ Dios es mas grande que tu problema :-) |
| |||
![]() Quiza no me explique de buena forma. Necesito hacer un archivo en forma externa con spool, pero que el nombre de ese archivo tenga como parametro, la fecha en que se ejecuto. spool c:/archivo/algo_20060822_a donde 20060822 es la fecha de hoy. Atte M ![]()
__________________ Dios es mas grande que tu problema :-) |
| |||
Muchas gracias por responder. Amigo. mi experiencia sin duda no llega a hacerle sombra a nadie. Sin embargo trate de implementar ese ejemplo que encontré sin obtener un resultado esperado. Te cuento que hice un archivo externo que luego ejecuto con start + path en el incluí las lineas que ahi aparecen. Luego, en vista del resultado me atreví a exponerlo aqui. Atte M. Quiza tu lo has echo y me das una idea de mi error. ![]()
__________________ Dios es mas grande que tu problema :-) |
| ||||
En estos momentos no tengo a la mano mis pc con Oracle pero te dejo este que ha salido al vuelo... posiblemente alguna como o punto por ahi esta mal ya que como te repito no tengo Oracle en estos momentos a la mano.
Código:
DECLARE miarchivo varchar2(50) default null; BEGIN Select to_char(sysdate, 'YYYYMMDD') miarchivo from dual ; spool C:\&miarchivo.txt select lpad(count(1),12,'0')||lpad(sum(monto),18,'0')||'0 0'||'R'||'' from dato; ... ... Spool off; END;
__________________ Bien se puede recibir una puñalada sin adulación, pero rara vez se recibe una adulación sin puñalada ** *** |
| |||
Gracias nuevamente. (por enésima vez) por que no me resulta hacer un procedure con spool?? mira: create or replace procedure imrimir is begin spool C:\rgc\respaldos\infractor\infractor.csv; select * from imprime; spool off end imprimir me dice: PLS-00103: Se ha encontrado el símbolo "C" cuando se esperaba uno de los siguientes: := . ( @ % ; Si me dieras un ejemplo estaria muy agradecido. Atte M. González ![]()
__________________ Dios es mas grande que tu problema :-) |
| ||||
El spool solo lo puedes ocupar en el SQL; silo que deseas es crear un procedimiento es mejor que utilices el UTL_FILE ![]() Ejemplo mandando como parametro el path y nombre del archivo
Código:
Ojo, recuerda que debes tener creado nombres de directorios con privilegios de lectura, escritura para el usuario que ejecutara el procedimiento:create or replace procedure miescritura ( path in varchar2, filename in varchar2) is output_file utl_file.file_type; begin output_file := utl_file.fopen (path,filename, 'W'); utl_file.put_line (output_file, 'mi primera fila escrita'); utl_file.put_line (output_file, 'mi segunda fila de prueba'); utl_file.fclose(output_file); end;
Código:
ahora supongamos que tienes creado tu directorio y ya le has dado los privilegios... tu consulta la haria algo mas o menos asi:create or replace directory dir_temp as 'c:\temp';
Código:
Create or Replace Procedure Mytest is Cursor MyCursor is Select lpad(count(1),12,'0')||lpad(sum(monto),18,'0')||'0 0'||'R'||'' Mydata from dato; MyArchivo varchar2(20) default to_char(sysdate, 'YYYYMMDD'); Begin output_file := utl_file.fopen ('dir_temp',MyArchivo, 'W'); For j in MyCursor loop utl_file.put_line (MyArchivo, j.Mydata); End Loop; utl_file.fclose(MyArchivo); End; ![]() ![]()
__________________ Bien se puede recibir una puñalada sin adulación, pero rara vez se recibe una adulación sin puñalada ** *** |