从SSMS运行DTEXEC以运行SSIS目录包

时间:2020-08-17 11:41:08

标签: ssis ssms-2017 dtexec

我想在使用DTEXEC的存储过程中使用目录来执行SSIS包:

DECLARE @cmd varchar(8000)
声明@params varchar(4000) 选择@params ='/ SET \ Package.Variables [User :: VarBigInt] .Properties [Value];“'+ CONVERT(char(10),@VarBigInt)+'“'选择@params = @params + '/ SET \ Package.Variables [User :: VarDate] .Properties [Value];“'+ CONVERT(NVARCHAR(20),@ VarDate,101)+'“'

选择@params = @params +'/ SET \ Package.Variables [User :: VarDestination] .Properties [Value];“'+ @ VarDestination +'“'
选择@params = @params +'/ SET \ Package.Variables [User :: VarBoolean] .Properties [Value];“'+ CONVERT(CHAR(1),@VarBoolean)+'“'选择@params = @params + '/ SET \ Package.Variables [User :: VarString] .Properties [Value];“'+ @ VarString +'“'选择@params = @params +'/ SET \ Package.Variables [User :: VarList] .Properties [Value];“'+ @ VarList +'” '

SELECT @cmd ='dtexec'+ N'/ ISSERVER“” \ SSISDB \ test \ test'+ @PackageName +'“ / SERVER”“ + @ DestServerName +'”“ / ENVREFERENCE 1 '+ @params +'“ $ ServerOption :: SYNCHRONIZED(Boolean)”;真实'

此操作失败

选择@params = @params +'/ SET \ Package.Variables [User :: VarDate] .Properties [Value]“;' + CONVERT(NVARCHAR(20),@ VarDate,101)+'''“'

运行存储过程以将其部署到目录中: 选项“ / SET \ Package.Variables [User :: VarDate] .Properties [Value]; 01/15/2019”无效。

VarDate是SSIS包中的日期时间变量。

1 个答案:

答案 0 :(得分:0)

在两组SET

中缺少一些

SELECT @params = @params + '/SET "\Package.Variables[User::VarDate].Properties[Value]";"' + CONVERT(NVARCHAR(20), @VarDate,101) + '"'