我想在使用 DTEXEC 的存储过程中使用 Catalog 执行 SSIS 包:
DECLARE @cmd varchar(8000)
DECLARE @params varchar(4000) SELECT @params = '/SET \Package.Variables[User::VarBigInt].Properties[Value];"' + CONVERT(char(10), @VarBigInt) + '" ' SELECT @params = @params + '/SET \Package.Variables[User::VarDate].Properties[Value];"' + CONVERT(NVARCHAR(20), @VarDate,101) + '" 'SELECT @params = @params + '/SET \Package.Variables[User::VarDestination].Properties[Value];"' + @VarDestination+ '"'
SELECT @params = @params + '/SET \Package.Variables[User ::VarBoolean].Properties[Value];"' + CONVERT(CHAR(1), @VarBoolean) + '"' SELECT @params = @params + '/SET \Package.Variables[User::VarString].Properties[ Value];"' + @VarString+ '" ' SELECT @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)";True'
这是失败的
SELECT @params = @params + '/SET \Package.Variables[User::VarDate].Properties[Value]";' + 转换(NVARCHAR(20), @VarDate,101) + '''"'
在运行存储过程以将其部署到目录时:选项“ /SET \Package.Variables[User::VarDate].Properties[Value];01/15/2019”无效。
VarDate 是 SSIS 包中的日期时间变量。