【问题标题】:Programmatically create SQL Agent Job running SSIS package in C#在 C# 中以编程方式创建运行 SSIS 包的 SQL 代理作业
【发布时间】:2015-10-21 19:52:34
【问题描述】:

我有一个 SSIS 包,用于简单地将数据从一个数据库传输到 SQL Server 代理作业上同一服务器上的另一个数据库。我希望能够随时为不同的数据库创建多个作业,因此我正在尝试创建一个 C# 程序来创建作业。

查看Job Step 类,我找不到像在 UI 中那样设置步骤类型的方法:

我尝试将命令设置为与现有作业相同的形式,以调用 SSIS 目录中的 SSIS 包:

JobStep jobStep = new JobStep(job, "Transfer");
jobStep.Command = @"/ISSERVER ""\SSISDB\ABC\ABC\Transfer.dtsx"" /SERVER FRISCHE /Par ""DestinationConnectionOLEDB_InitialCatalog"";""Dest_Test"" /Par ""SourceConnectionOLEDB_InitialCatalog"";""Src_Test"" /Par ""$ServerOption::LOGGING_LEVEL(Int16)"";1 /Par ""$ServerOption::SYNCHRONIZED(Boolean)"";True /CALLERINFO SQLAGENT /REPORTING E";

但这创建的步骤始终默认为 Transact-SQL 脚本选项。有什么方法可以告诉JobStep 对象我想要一种SSIS 包?

【问题讨论】:

    标签: c# sql-server ssis sql-server-2012 smo


    【解决方案1】:

    您正在寻找SubSytem。枚举值为listed here

    Ssis - Specifies the SQL Server Integration Services subsystem.
    

    具体来说,你想要Ssis。代码应该是大约

    jobStep.SubSystem = AgentSubSystem.Ssis;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-01
      • 1970-01-01
      相关资源
      最近更新 更多