无法编译SSIS组件; 在Visual Studio 2008中缺少程序集

Iai*_*der 6 ssis sql-server-2008 visual-studio-2008

SSIS中没有标准的控制流任务来通过HTTP下载文件.我已经尝试了一些解决方法(执行进程wget,脚本任务HttpClientConnection),但得出结论,执行此任务的最强大和可重用的方法是创建自定义组件.

我试图通过遵循Ray Gorski的指南来做到这一点,但在我的开发环境中遇到了问题.

问题是Visual Studio 2008无法识别Microsoft.SqlServer.Dts命名空间.它抱怨错误消息"命名空间'Microsoft.SqlServer'中不存在类型或命名空间名称'Dts'(你是否缺少程序集引用?)".

在MSDN论坛上找到了建议,说你可以通过添加ManagedDTS.dll找到 的程序集来添加引用C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\,但是我的系统上不存在此目录.我认为这是因为我使用的是SQL Server 2008而不是SQL Server 2005.

我该如何解决这个问题?

这是我的代码,它基于Ray Gorski指南中的示例.这里没有代码可以实际完成我的任务,只是一个空的存根,它不能编译.

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
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我尝试编译时看到的错误的屏幕截图:

在此输入图像描述

小智 7

64-bit操作系统上,您可以Microsoft.SQLServer.ManagedDTS.dll在以下路径中找到该文件:

C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies

32-bit操作系统上,您可以Microsoft.SQLServer.ManagedDTS.dll在以下路径中找到该文件:

C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies

Microsoft SQL Server下的文件夹90表示SQL Server 2005.

Microsoft SQL Server下的文件夹100表示SQL Server 2008.

  • 我知道这是一个很长时间关闭但如果您查看这些路径并且库不在那里,请启动SQL Server安装盘并安装SDK.我们今天遇到了这个问题. (2认同)