0

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

4

1 回答 1

1

是的,您可以使用SQL 代理和从.NET应用程序执行 SSIS 包。

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

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

如果您有几个参数要传递,那么您可以在文本文件中使用上述查询,然后使用CommandFileDTEXEC 中的选项

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 应用程序中使用该代码

请参阅本文以获取更多信息

于 2012-08-24T04:58:33.103 回答