1

我想在使用 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 包中的日期时间变量。

4

1 回答 1

0

您在两组周围都缺少一些SET

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

于 2020-08-25T18:29:51.103 回答