How to Download a File from FTP Site and Delete after Download in SSIS Package - SQL Server Integration Services(SSIS) Tutorial

Scenario:

In this video we will learn how to download a file from FTP Server Folder to Local Folder and then delete from the FTP Server Folder.

Items we will learn this video
  1. How to create SSIS Package from Scratch
  2. How to Create FTP Connection
  3. How to create variables to save Local Path, Remote Path and FileName
  4. How to use variables in Script Task to Download the file and then Delete after download if file exists
  5. How to use FTP Connection in Script Task in SSIS Package



VB.Net Script to download File from FTP Server and then Delete

Public Sub Main()

        Dim StrFolderArrary As String()
        Dim StrFileArray As String()
        Dim fileName As String
        Dim RemoteDirectory As String
        Dim LocalFolderPath As String

        'Set Local Variable values by using SSIS Package variables
        RemoteDirectory = Dts.Variables("User::RemoteDirectory").Value.ToString()
        LocalFolderPath = Dts.Variables("User::LocalFolder").Value.ToString()
        Dim cm As ConnectionManager = Dts.Connections("FTPConnection") 'FTP connection manager name


        Dim ftp As FtpClientConnection =
 New FtpClientConnection(cm.AcquireConnection(Nothing))

        ftp.Connect() 'Connecting to FTP Server

        'Provide the Directory on which you are working on FTP Server


        ftp.SetWorkingDirectory(RemoteDirectory)

        'Get all the files and Folders List


        ftp.GetListing(StrFolderArrary, StrFileArray)

'If there is no file in the folder, strFile Arry will contain nothing, so close the connection.

        If StrFileArray Is Nothing Then
            ftp.Close()

'If Files are there, Loop through the StrFileArray arrary and download the file 
'and then delete

        Else
            For Each fileName In StrFileArray

               'Check if require file is there

If fileName = Dts.Variables("User::FileName").Value.ToString() Then

                   Dim DownloadFileNameArrary As String()
                    DownloadFileNameArrary = {RemoteDirectory + "/" + fileName}

                    'Download the file

  ftp.ReceiveFiles(DownloadFileNameArrary, LocalFolderPath, True, True)

                    'Delete the file

                    ftp.DeleteFiles(DownloadFileNameArrary)

                End If
            Next
            ftp.Close()
        End If
        ' Add your code here
       '
       Dts.TaskResult = ScriptResults.Success
    End Sub



How to Download a File from FTP Server and then Delete It by using Script Task in SSIS Package




Related Posts / Videos on FTP Task / Script Task

2 comments:

  1. Thanks for your script,
    Here is one issue how we can make script or variable to pick only today's file. I saw your video for per day file and it work for static type of variable . How we can make dynamics when we specify folder and want that folder pick automatically.

    Another issue when I deploy the package to SSIS I found variables created does not move there. Any idea

    ReplyDelete
  2. Much the same as anything on Earth present day society has an equalization. So on one hand we have a dynamic electronic network and then again we have armed force of web lawbreakers whose both work and fun comprises of alleged wholesale fraud. 먹튀검증사이트

    ReplyDelete