SSIS - SQL Server Integration Services - descargar archivo ftp

 
Vista:
sin imagen de perfil

descargar archivo ftp

Publicado por alexis (7 intervenciones) el 11/04/2013 00:09:56
Buenas tardes que tal con el siguiente codigo estoy descargando el archivo que se encuenta en un servidor x

al inicio le asigno el nombre del servidor
usuario
contraseña

para descargar un archivo, de esta manera funciona bien

Dim cm2 As ConnectionManager = Dts.Connections.Add("FTP")

Dim strFolders2 As String()
Dim strFiles2 As String()

Dim archivo(0) As String
Dim cargado(0) As String
Dim fileCount As Int32
Dim fileName As String

Dim ls_NumDia As String 'Numero de dia de la semana
Dim li_NumMes As Integer 'Numero de mes
Dim ls_NomMes As String 'Nombre del mes ( se toma 3 letras)
Dim ls_path As String ' ruta del archivo a verificar
Dim ls_urlXmlRecibidos As String



Dim cm2 As ConnectionManager = Dts.Connections.Add("FTP")

cm2.Properties("ServerName").SetValue(cm2, Dts.Variables("v_FTP_NameServidor").Value)
cm2.Properties("ServerUserName").SetValue(cm2, Dts.Variables("v_usuario").Value)
cm2.Properties("ServerPassword").SetValue(cm2, Dts.Variables("v_clave").Value)


Dim ftp2 As FtpClientConnection = New FtpClientConnection(cm2.AcquireConnection(Nothing))


ftp2.Connect()


ftp2.GetListing(strFolders2, strFiles2)



For Each fileName2 In strFiles2

If ((fileName2.Substring(0, 14) = Dts.Variables("v_IniNameFile").Value & ls_NumDia & ls_NomMes)) Then

archivo(0) = fileName2.ToString


ftp2.ReceiveFiles(archivo, ls_urlXmlRecibidos, True, False)

End If

Next

ftp2.Close()


´pero el problema es no entiendo bien el funcionamiento de las carpetas

lo que deseo ahora es poder descargar un archivo que se encuentra en el servidor

ejemplo de estructura

nombre de servidor
archivo.txt
carpeta1
archivo1.txt
archivo2.txt


deseo poder descargar el archivo1.txt
la idea es ingresar a la carpeta1 para descargar el archivo1.txt

se le agradece la ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Descargar archivo desde carpeta específica en servidor FTP

Publicado por Alejandro (60 intervenciones) el 24/02/2024 00:07:44
Alexis, para descargar un archivo desde una carpeta específica en un servidor FTP utilizando SSIS y tu código actual, necesitas ajustar la forma en que obtienes la lista de archivos y cómo construyes la ruta del archivo que deseas descargar. Aquí tienes una modificación de tu código para lograr esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Dim cm2 As ConnectionManager = Dts.Connections.Add("FTP")
 
cm2.Properties("ServerName").SetValue(cm2, Dts.Variables("v_FTP_NameServidor").Value)
cm2.Properties("ServerUserName").SetValue(cm2, Dts.Variables("v_usuario").Value)
cm2.Properties("ServerPassword").SetValue(cm2, Dts.Variables("v_clave").Value)
 
Dim ftp2 As FtpClientConnection = New FtpClientConnection(cm2.AcquireConnection(Nothing))
 
ftp2.Connect()
 
Dim strFolders2 As String()
Dim strFiles2 As String()
 
' Definir la ruta de la carpeta en el servidor FTP '
Dim carpetaEnServidor As String = "/carpeta1/"
 
ftp2.GetListing(carpetaEnServidor, strFolders2, strFiles2)
 
For Each fileName2 In strFiles2
    If fileName2 = "archivo1.txt" Then
        ' Construir la ruta completa del archivo en el servidor FTP '
        Dim rutaCompletaArchivo As String = carpetaEnServidor & fileName2
 
        ' Descargar el archivo en la ruta local (ls_urlXmlRecibidos) '
        ftp2.ReceiveFiles(New String() {rutaCompletaArchivo}, ls_urlXmlRecibidos, True, False)
    End If
Next
 
ftp2.Close()

En este código, he agregado la variable `carpetaEnServidor` para representar la carpeta específica en el servidor FTP que deseas explorar. Luego, uso `ftp2.GetListing(carpetaEnServidor, strFolders2, strFiles2)` para obtener la lista de archivos en esa carpeta específica.

Luego, itero sobre los archivos (`strFiles2`) y descargo el archivo1.txt si lo encuentro. Asegúrate de ajustar la ruta según la estructura real de tu servidor FTP.

Ten en cuenta que este código asume que conoces la estructura de tu servidor FTP y la carpeta específica donde se encuentra el archivo que deseas descargar. Ajusta las variables según tus necesidades específicas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar