我已经安排了运行 SSIS 包的 sql 代理任务。我希望能够从 .net 运行 SSIS 包。有没有办法直接运行 SSIS 包或至少运行 SQL 代理任务,该任务反过来运行 SSIS 包。
如果有帮助,那就是用 C# 编写的 .net 3.5 Web 应用程序
谢谢!
我已经安排了运行 SSIS 包的 sql 代理任务。我希望能够从 .net 运行 SSIS 包。有没有办法直接运行 SSIS 包或至少运行 SQL 代理任务,该任务反过来运行 SSIS 包。
如果有帮助,那就是用 C# 编写的 .net 3.5 Web 应用程序
谢谢!
可用于运行 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 = "<package path>\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 类,从您的程序中调用此服务。
发明你自己的:)
是的。查看Microsoft.SqlServer.Dts.Runtime
命名空间。Package 类将提供运行它的方法。