Sql server 如何通过存储过程将变量值传递给作业执行的SSIS包?

Sql server 如何通过存储过程将变量值传递给作业执行的SSIS包?,sql-server,stored-procedures,ssis,Sql Server,Stored Procedures,Ssis,嗯,是的,非常具体。 我有一个执行SSIS包的作业。这个包有一个名为“Email”的变量,它是一个字符串 我通过存储过程执行此作业。我需要将该变量的值传递给作业,我该怎么做 这是我用来执行作业的存储过程(@VarValue是我要传递给SSIS包的值): 没有任何真正简单的方法可以做到这一点。我唯一能想到的就是在调用包之前获取该值,创建一个表或临时表,并将变量加载到您创建的表中。之后,您可以访问ssis包中的varibale,以获取您需要使用它的目的。作业完成后,不要忘记清理额外的表和/或值。查看

嗯,是的,非常具体。 我有一个执行SSIS包的作业。这个包有一个名为“Email”的变量,它是一个字符串

我通过存储过程执行此作业。我需要将该变量的值传递给作业,我该怎么做

这是我用来执行作业的存储过程(@VarValue是我要传递给SSIS包的值):


没有任何真正简单的方法可以做到这一点。我唯一能想到的就是在调用包之前获取该值,创建一个表或临时表,并将变量加载到您创建的表中。之后,您可以访问ssis包中的varibale,以获取您需要使用它的目的。作业完成后,不要忘记清理额外的表和/或值。

查看此链接:

特别是第2部分

看起来您可以创建变量并在EXEC语句中进行设置

EXEC @ReturnValue=msdb.dbo.sp_start_job @job_id=@JobId, @parameter_name=N'Email', @parameter_value=@VarValue;

类似的情况。

差不多,但是sp\u start\u job sp不接受除@job\u id以外的任何内容
EXEC @ReturnValue=msdb.dbo.sp_start_job @job_id=@JobId, @parameter_name=N'Email', @parameter_value=@VarValue;