在SSMS中执行SSIS

问题描述:

我有一个SSIS包将文件上传到表中。我想在文件上传并保存到表格后立即执行它。这link显示了如何使用存储过程执行它。我所做的是我创建了下面的代码触发:在SSMS中执行SSIS

ALTER TRIGGER [dbo].[tr_ImportFile] 
ON [dbo].[ReconMedicalAidFile] 
AFTER INSERT 
AS 
BEGIN 
    -- SET NOCOUNT ON added to prevent extra result sets from 
    -- interfering with SELECT statements. 
    SET NOCOUNT ON; 

    -- Insert statements for trigger here 
    DECLARE @params VARCHAR(MAX), 
      @ssisStr VARCHAR(MAX), 
      @packageName VARCHAR(MAX), 
      @serverName VARCHAR(MAX) 

    SET @serverName = 'ServerName' 
    SET @packageName = 'MyIntegration' 

    SET @ssisStr = 'dtexec /sq ' + @packageName + ' /ser ' + @serverName 

    DECLARE @returnCode int 
    EXEC @returnCode = xp_cmdshell @ssisStr 

END 

我收到以下错误过程需要的参数类型“VARCHAR”的“command_string”。

任何帮助,将不胜感激。

感谢

我走了不同的路线,它的工作原理。仍然有触发器,但它会执行包含SSIS包的SQL作业。

EXEC msdb.dbo.sp_start_job N'JobName' ; 

我认为当你更换VARCHAR(MAX)VARCHAR(8000)数据类型