A veces se tiene la necesidad de extraer o enviar información a un servidor mediante un FTP. Esto se puede hacer desde un DTS. Lo único que tenemos que hacer es añadir en nuestro DTS la tarea “Execute Process”
Esta tarea permite ejecutar un programa
Los campos que tiene esta tarea son:
Description. Un texto descriptivo de lo que hace la tarea
Win32 process. El nombre del programa que deseamos ejecutar, en ese caso es FTP
Parameters. Los parámetros que recibe el programa FTP. Para nuestro ejemplo los parámetros son:
-v -n -s:c:\temp\ftp.txt ServidorFTP
Donde:
| -v |
Suprime la presentación de las respuestas del servidor remoto. |
| -n |
Suprime el inicio de sesión automático cuando se establece. |
| [-s:archivo] |
Especifica un archivo de texto que contiene comandos de FTP; los comandos se ejecutar automáticamente después del inicio de FTP. En nuestro ejemplo tendremos un archivo llamado ftp.txt que contendrá los comandos ftp a ejecutar. En nuestro ejemplo dicho archivo lo hemos colocado en c:\temp |
| ServidorFTP | nombre o IP del servidor al cual nos queremos conectar mediante FTP. Para nuestro ejemplo presumamos que el servidor se llama ServidorFTP |
Return Code. Le dejamos el cero
Timeout. El tiempo máximo que deseamos especificar para que toda la tarea se ejecute. Transcurrido este tiempo si la tarea no ha terminado la abortará marcando un Timeout.
Hecho esto lo que necesitamos es crear un archivo que contendrá los comandos de FTP.
Copie y peque las siguientes líneas a un archivo de texto y grábelo con el nombre y ruta c:\temp\ftp.txt
user adrian haciendocubos
binary
get logo.jpg c:\temp\ftp\logo.jpg
quit
La primera línea establece que el FTP se debe de hacer con el usuario adrian y password o contraseña haciendocubos. La segunda línea sirve para cambiar el FTP a modo binario ( para traerse o enviar un archivo binario).
La tercera línea se trae el archivo logo.jpg (get) y lo deja en c:\emp\ftp\logo.jpg
Y finalmente el quit termina la sesión de ftp.
¡Listo! Ejecute el DTS y ya.
Si no funciona pruebe crear un archivo .BAT que contenga la línea de comando
ftp -v -n -s:c:\temp\ftp.txt ServidorFTP
y ejecute este .BAT en vez del ftp. Si lo que necesita es enviar un archivo cambie la palabra get por put.

ke maravilla de artikulo, justo lo ke estaba buscando!!
gracias por el comentario, es bueno saber que te ha sido útil
saludos
Adrian, como ejecutas desde SQL un comando de Progress o bien ejecutar un programa de Progress ????
Adrian,
excelente articulo!,
una pregunta como puedo traer mas de un archivo?, en mi caso requiero traer todos los archivos que inicien con “MP” y terminen en “200808″, como veras debo pasarle el parámetro del año y mes para realizar la descarga.
osea el mes siguiente debere descargar los archivos del periodo “200809″ y asi sucesivamente.
saludos,
Hola Victor,
no se me ocurre nada, pero seguramente alguien por aquí podra ayudar.
saludos