Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/07/2010, 15:02
Avatar de Wayern
Wayern
 
Fecha de Ingreso: septiembre-2008
Ubicación: Aguascalientes
Mensajes: 65
Antigüedad: 15 años, 8 meses
Puntos: 4
Exclamación Respuesta: Problema con UTL_TCP.write_line()

Hola de nuevo. Ya encontré la solución y es bastante trivial. Lo que me estaba fallando era que no estaba asignando a ninguna variable el valor regresado. Lo solucioné así:
Código:
CREATE OR REPLACE PROCEDURE send_shl(dir in varchar2, filename in varchar2,
          ftpdir in varchar2, usr in varchar2, pass in varchar2, to_path in varchar2, command varchar2)
as
l_conn  UTL_TCP.connection;
ret_val pls_integer; 

begin
  dbms_output.enable(999999);
 l_conn := ftp.login(ftpdir, '21', usr, pass);
  ftp.ascii(p_conn => l_conn);
  --ftp.binary(p_conn => l_conn);
  ret_val:= utl_tcp.write_line(l_conn, command);
  ftp.put(p_conn      => l_conn,
          p_from_dir  => dir,
          p_from_file => filename,
          p_to_file   => to_path||filename);
  ftp.logout(l_conn);

Exception
  When Others then
    dbms_output.put_line('Value: '||ret_val);
End send_shl;
Ahora el problema que tengo es manejar la excepción al momento de pasar el comando... El error que me manda es normal, lo que no puedo hacer es que despues del error se guarde el archivo en el ftp... Cualquier ayuda se agradecerá mucho. Saludos