【问题标题】:Run DTEXEC from SSMS to run SSIS Catalog Package从 SSMS 运行 DTEXEC 以运行 SSIS 目录包
【发布时间】:2020-08-17 11:41:08
【问题描述】:

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

声明@cmd varchar(8000)
声明 @params varchar(4000) 选择 @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) + ' " '

选择 @params = @params + '/SET \Package.Variables[User::VarDestination].Properties[Value];"' + @VarDestination+ '" '
选择 @params = @params + '/SET \Package.Variables[User::VarBoolean].Properties[Value];"' + CONVERT(CHAR(1), @VarBoolean) + '" ' SELECT @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)";True'

这失败了

选择 @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 包中的日期时间变量。

【问题讨论】:

    标签: ssis ssms-2017 dtexec


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-16
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多