Thursday, March 29, 2012

FTP Task - GET Command

I am working with an odd FTP site that is using a custom pointer file (denoted by a .LMP) extension to provide pointers to dynamic data. To understand the gist, the FTP site will have a list such as:

FileName Size
SomeFile.gz.lmp 0 bytes

In order to obtain the actual file, they want me to run the following command (in BINARY mode only):

GET SomeFile.gz

If I run this command from an command prompt, the file downloads after a few seconds with a size around 3 or 4 MB.

So I need to connect to an FTP site inside of an SSIS project, grab all of the files, strip off the .LMP extension and then perform a GET on each file (RETR does not work). The nI have to gunzip each file prior to finally accessing the connects therein.

Is there any way of accomplishing this task within SSIS or do I have to create some separate shell application?

Thank you!


I don't have any suggestions for getting the list of files, other than a script task.

You could use FOR loop container to iterate the list of file names, once you have it, with an expression on the filename to strip off the .LMP extension.

Check this thread for some unzip ideas:

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1150176&SiteID=1

|||

Here is a thread with the script task to loop through a folder on the ftp server. You can just put code in to search for files with the .lmp extension and strip them off where it says "whatever operation you need to do to find the correct file"......

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=783836&SiteID=1

|||I ended up determining that the problem was due to an incompatability between SSIS FTP and Unix. I have posted my solution here:

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2177793&SiteID=1&mode=1

No comments:

Post a Comment