用.net和Job执行包

时间:2012-08-24 04:27:40

标签: ssis

是否可以使用作业和.net执行包? 如何更改输入参数?

1 个答案:

答案 0 :(得分:1)

是的,您可以使用SQL Agent.NET应用程序执行SSIS包。

如果需要传递输入参数,则需要在通过DTEXEC命令行执行时使用SET选项

/SET "\Package.Variables[User::YourVariable].Properties[Value]";"ValueToBePassed" 

如果要传递多个参数,则可以在文本文件中使用上述查询,然后使用DTEXEC中的CommandFile选项

DTEXEC /File "C:\Package.dtsx" /CommandFile "C:\inputOptions.txt"

如果您从.NET运行。添加对Microsoft.SqlServer.Dts.Runtime.Application

的引用
using app=Microsoft.SqlServer.Dts.Runtime.Application;
string pkgLocation;
Package pkg;

DTSExecResult pkgResults;
pkgLocation = @"C:\SSISPackage\YourPackage.dtsx";
app = new Microsoft.SqlServer.Dts.Runtime.Application();
pkg = app.LoadPackage(pkgLocation, null);

pkg.Variables["VariableName"].Value = "VariableValue";
results= pkg.Execute();

请参阅SO中的答案。我使用了一个脚本任务来执行该程序包,但您可以在.NET应用程序中使用该代码

有关详细信息,请参阅this文章