For downloading the files from the server we can use FTP
task but for the some cases we need to write the C# code to download the files
from the web server. We need to use the script task to achieve this.
For the example I am using below web URL to download the csv
file.
Now I am creating the HTTP connection.
Click on the Test connection
Click OK. A new HTTP connection manager is created I named
it as Web_server.
Now I am creating a flat file connection where we are going
to store the downloaded file.
Named file path.
Now taking script task
In C# VSTA we need to write the below code.
// Get your newly added HTTP Connection Manager
Object
HTTPConnectionManager = Dts.Connections["Web_Server"].AcquireConnection(null);
// Create a new connection
HttpClientConnection WebProductConnection = new HttpClientConnection(HTTPConnectionManager);
// Get the location from the Flat File Connection Manager
string DownloadLocation =
Dts.Connections["File_path"].AcquireConnection(Dts.Transaction).ToString();
try
{
// Logging start of download (optional)
bool fireAgain = true;
Dts.Events.FireInformation(0, "Download", "Downloading " + WebProductConnection.ServerURL, string.Empty, 0, ref fireAgain);
// Download the file and replace the current CSV
WebProductConnection.DownloadFile(DownloadLocation, true);
// Logging end of download (optional)
Dts.Events.FireInformation(0, "Download", "Saved " + DownloadLocation, string.Empty, 0, ref fireAgain);
// Quit Script Task succesful
Dts.TaskResult = (int)ScriptResults.Success;
}
catch (Exception ex)
{
// Logging why download failed
Dts.Events.FireError(0, "Download", "Failed: " + ex.Message, string.Empty, 0);
// Quit Script Task unsuccesful
Dts.TaskResult = (int)ScriptResults.Failure;
}
|
Now package is ready to run
Before running this package record in the file.
Now I am running this package.
Packaged executed successfully. See the log.
Now see the file
If i have file's that i am getting on a weekly basis with datetimestamp, how can i download?
ReplyDelete