1

我想用 sql server 执行一个 .exe。出于安全原因,我不能使用xp_cmdshell. 所以我决定使用 CmdExec Step 创建作业。

.exe 文件必须接收 2 个参数。问题是我永远不知道参数。

例如:我想给出 2 个日期,今天和今天 + 1 天。

在 T-sql 中很容易做到,所以可以在 CmdExec 步骤中使用 t-sql 吗?

4

1 回答 1

1

首先,使用 CmdExec 步骤创建作业,命令如下。

EXEC test.exe @Parm1, @Parm2

之后,在你的代码中执行 .exe

 -- Update Job Step with real parameter
 UPDATE msdb.dbo.sysjobsteps 
 SET command = REPLACE(REPLACE(command,'@Parm1','NewParm1') ,'@Parm2','NewParm2')
 WHERE job_id = @YouJobIDHere
 AND step_id = @StepId 

 -- start job
  EXEC =  msdb.dbo.sp_start_job @job_name = @CustomJobName  
于 2013-10-07T20:05:13.227 回答