在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)数据类型