【问题标题】:execute package with .net and Job使用 .net 和 Job 执行包
【发布时间】:2012-08-19 15:33:57
【问题描述】:

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

【问题讨论】:

    标签: ssis


    【解决方案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文章

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多