Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 Can';编译SSIS组件;Visual Studio 2008中缺少程序集_Visual Studio 2008_Sql Server 2008_Ssis - Fatal编程技术网

Visual studio 2008 Can';编译SSIS组件;Visual Studio 2008中缺少程序集

Visual studio 2008 Can';编译SSIS组件;Visual Studio 2008中缺少程序集,visual-studio-2008,sql-server-2008,ssis,Visual Studio 2008,Sql Server 2008,Ssis,SSIS中没有通过HTTP下载文件的标准控制流任务。我尝试了一些变通方法(,),但得出的结论是,执行此任务最健壮和可重用的方法是创建自定义组件 我试图通过以下方法来实现这一点,但在我的开发环境中遇到了问题 问题是VisualStudio2008无法识别Microsoft.SqlServer.Dts命名空间。它会发出错误消息“命名空间“Microsoft.SqlServer”中不存在类型或命名空间名称“Dts”(是否缺少程序集引用?) 我找到了一条建议,建议您可以通过添加程序集ManagedDTS

SSIS中没有通过HTTP下载文件的标准控制流任务。我尝试了一些变通方法(,),但得出的结论是,执行此任务最健壮和可重用的方法是创建自定义组件

我试图通过以下方法来实现这一点,但在我的开发环境中遇到了问题

问题是VisualStudio2008无法识别
Microsoft.SqlServer.Dts
命名空间。它会发出错误消息“命名空间“Microsoft.SqlServer”中不存在类型或命名空间名称“Dts”(是否缺少程序集引用?)

我找到了一条建议,建议您可以通过添加程序集
ManagedDTS.dll
来添加引用,该程序集位于
C:\Program Files\Microsoft SQL Server\90\SDK\assembly\
中,但我的系统上不存在此目录。我想这是因为我使用的是SQLServer2008,而不是SQLServer2005

如何解决此问题

这是我的代码,它基于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
    {
    }
}
下面是我在尝试编译时看到的错误截图:


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

C:\ProgramFiles(x86)\Microsoft SQL Server\100\SDK\Assembly

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

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

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


Microsoft SQL Server下的文件夹100代表了
SQL Server 2008

只是SQL2012早期答案的一个小更新

DLL文件在110中

现在,即使在添加了引用之后,如果您使用.Net3.5或更早版本的概要文件构建项目,您也会收到相同的错误


对于SQL2012,您必须使用.Net4.0或更高版本,否则Visual Studio将显示相同的错误。

安装SS2012后,脚本为ss2008r2中开发的ssis包中描述了错误。经过几次尝试解决后,我安装了ss2008r2sdk,打开所有脚本并关闭,现在一切正常


谢谢马克

谢谢你,湿婆。我运行的是64位操作系统和64位版本的SQL Server 2008。我知道这是一个很长的关闭时间,但如果您查看这些路径,而库不在那里,请启动SQL Server安装磁盘并安装SDK。我们今天遇到了这个问题。通过安装盘重新安装客户端工具SDK对我来说很有效。全名为“客户端工具SDK”,位于:安装->新安装或添加功能->…->功能选择->客户端工具SDKThanks链接,Siva。目前使用
HTTPClientConnection
还可以,因为我正在设计的两个包只从一个文件下载所有数据。但是还有一些软件包需要多个HTTP请求来提取所有的数据,所以我会考虑使用<代码> WebClient <代码>来完成这个任务。谢谢。