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

Enviar comandos FTP PL-SQL

Estas en el tema de Enviar comandos FTP PL-SQL en el foro de Oracle en Foros del Web. Hola a todos. Tengo un problema con el envio de un archivo a FTP mediante Oracle ¿Es posible enviar comandos ftp directamente de un SP ...
  #1 (permalink)  
Antiguo 26/07/2010, 10:10
Avatar de Wayern  
Fecha de Ingreso: septiembre-2008
Ubicación: Aguascalientes
Mensajes: 65
Antigüedad: 13 años, 2 meses
Puntos: 4
Pregunta Enviar comandos FTP PL-SQL

Hola a todos. Tengo un problema con el envio de un archivo a FTP mediante Oracle ¿Es posible enviar comandos ftp directamente de un SP de PL-SQL? Si es así por favor denme una referencia de donde encontrar un ejemplo. Hasta ahorita yo tengo algo 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; 
hndlExeption Exception;

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);
  begin
    ret_val:=utl_tcp.write_line(l_conn, command);
    if ret_val>0 then
    RAISE hndlExeption;
  end if;
  Exception 
    when hndlExeption then
         dbms_output.put_line('Value: '||ret_val);
  end;
  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
    utl_tcp.close_all_connections;
    rollback;
    RAISE;
End send_shl;
La línea en negrita es un comando que trato de mandar y es ahí donde me truena. Traté de cachar la excepción pero de todas maneras me pierde la conexión al FTP y no manda el archivo. Si tienen alguna idea se los agradeceré muchísimo.
Saludos.

Etiquetas: comandos, enviar, ftp
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 21:17.