Visual studio 2008 Can';编译SSIS组件;Visual Studio 2008中缺少程序集
SSIS中没有通过HTTP下载文件的标准控制流任务。我尝试了一些变通方法(,),但得出的结论是,执行此任务最健壮和可重用的方法是创建自定义组件 我试图通过以下方法来实现这一点,但在我的开发环境中遇到了问题 问题是VisualStudio2008无法识别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
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 <代码>来完成这个任务。谢谢。