你能从.net运行SSIS任务吗?

我已经安排了运行SSIS包的sql代理任务。 我希望能够从.net运行SSIS包。 有没有办法直接运行SSIS包或至少运行SQL代理任务,然后运行SSIS包。

如果它有助于用C#编写的.net 3.5 Web应用程序

谢谢!

可用于运行SSIS包的选项是 –

  • 使用SSIS对象模型以编程方式运行包。 这在这里的联机丛书中有详细讨论。

一个例子:

using System; using Microsoft.SqlServer.Dts.Runtime; namespace RunFromClientAppCS { class Program { static void Main(string[] args) { string pkgLocation; Package pkg; Application app; DTSExecResult pkgResults; pkgLocation = "\CalculatedColumns.dtsx"; app = new Application(); pkg = app.LoadPackage(pkgLocation, null); pkgResults = pkg.Execute(); Console.WriteLine(pkgResults.ToString()); Console.ReadKey(); } } } 
  • 启动DTEXEC.EXE进程。 DTEXEC是用于执行SSIS包的命令行实用程序。 请在此处查看其命令行选项。

  • 使用SQL代理。 您可以配置代理程序作业以运行程序包(如果程序包是静态的,则可以提前手动执行,或者在运行程序包之前使用SMO或使用SQL存储过程进行编程),然后使用SMO或sp_start_job以编程方式启动它。

  • 使用其他一些实用程序为您启动DTEXEC。

  • 创建将运行程序包的自定义应用程序(使用方法#1中描述的OM,或方法#2中使用DTEXEC)。 将其公开为Web服务或DCOM类,从您的程序中调用此服务。

  • 发明你自己的:)

参考:以编程方式运行SSIS包

是。 查看Microsoft.SqlServer.Dts.Runtime命名空间。 Package类将提供运行它的方法。