SSIS does not have a standard control flow task for uploading a file via HTTP. I tried some workarounds ( Run the wget process , Script HttpClientConnection task ), but came to the conclusion that the most reliable and reusable way to complete this task is to create a custom component.
I tried to do this by following the Ray Gorski manual , but ran into a problem in my development environment.
The problem is that Visual Studio 2008 does not recognize the namespace Microsoft.SqlServer.Dts. He complains about the error message "The type or name of the namespace" Dts "does not exist in the namespace" Microsoft.SqlServer "(are you missing the assembly reference?)."
I found advice on the MSDN forum that says that you can add a link by adding the assembly ManagedDTS.dllfound in C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\, but this directory does not exist on my system. I think this is because I'm using SQL Server 2008, not SQL Server 2005.
How to fix this problem?
Here is my code based on an example in the Ray Gorski manual. There is no code to complete my task, just an empty stub that does not compile.
using System;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Runtime.Design;
namespace HTTPControlTask
{
[DtsTask(
Description = "HTTP",
DisplayName = "HTTP",
TaskContact = "Iain Elder",
TaskType = "SSIS Help Task",
RequiredProductLevel = DTSProductLevel.None)]
public class HTTPControlTask : Task, IDTSComponentPersist
{
}
}
Here is a screenshot of the errors that I see when trying to compile:
