调用SSIS包需要哪些命名空间?

时间:2009-10-15 11:06:52

标签: asp.net vb.net

我在我的asp.net项目中创建了一个SSISpackage。为了调用ssis包,我编写了以下代码。

将应用程序调暗为新的Application()

dim package as Package = app.LoadPackage(“C:\ Projects \ MyPackage.dtsx”)

DTS结果为DTSExeResult = package.Execute()

回复于(result.Tostring())

但它显示了一些错误。我认为缺少一些名称空间。必须导入所有名称空间? 请帮忙

2 个答案:

答案 0 :(得分:3)

我认为你所追求的命名空间是:

Microsoft.SqlServer.Dts.Runtime

但是,此命名空间位于默认情况下通常不会引用的程序集中,因此您必须手动添加对以下内容的引用:

Microsoft.SqlServer.ManagedDTS.dll

汇编,如果你还没有引用它。

另请注意,由于您尝试从ASP.NET上下文中执行包,因此可能会遇到安全/权限问题。有关这方面的更多详细信息,请参阅以下链接:

Microsoft.SqlServer.Dts.Runtime & ASP.NET Identity Problem
Calling SSIS package from web service - Security issue Calling SSIS packages from ASP.NET - Packages with file system tasks end abruptly

另请参阅以编程方式运行SSIS包中的这些常规链接:

Loading and Running a Local Package Programmatically
Running SSIS package programmatically

最后一个链接包含一个非常重要的警告,试图从ASP.NET上下文中专门执行SSIS包:

  

ASP.NET特定:模仿   上下文没有传递给   附加线程SSIS包   创建,所以数据源   连接不会被冒充。   此外,ASP.NET可以配置为   如果它回收工人进程   消耗太多内存来改善   ASP.NET应用程序的可用性。   由于SSIS可能会消耗很多   内存,如果你有很多数据,它   可以触发这种回收并降低   申请的可靠性。

答案 1 :(得分:1)

Microsoft.SqlServer.Dts.Runtime