SSIS使用包部署模型使用项目参数来使用变量来部署包

时间:2018-08-20 03:57:48

标签: ssis ssis-2012

有一个我正在努力的现有项目(例如Project1)

之类的项目参数

名称-Param_Local_Dir

值-F:\ Test \ Company \ Process \

在包中(例如Package1),此项目参数在包变量中用于标识值

名称-Pkg_Local_Dir

值-REPLACE(@ [$$ :: Param_Local_Dir],“公司”,“ AA”)

该项目已使用项目部署模型部署到SQL Server中,并且通过计划的作业正常运行。 现在,由于有一些更改,我需要将程序包部署到SQL Server中(Integration Services目录-> project1-右键单击->部署程序包)

当我从程序包部署窗口中选择程序包时,出现以下错误-

标题:SQL Server集成服务

警告: 在变量标题中找不到变量“ $ Project :: Param_Local_Dir”。这些变量可能不在正确的范围内。

错误:

1。变量“ Pkg_Local_Dir”的表达式评估失败。表达式中有错误。

我们没有条件重新进行整个项目的部署,因为有很多软件包,这是唯一更改的软件包。 有什么办法可以解决此错误以便进行程序包部署?

1 个答案:

答案 0 :(得分:2)

项目部署模式和程序包部署是完全不同的野兽。您不能在以程序包部署模式部署的程序包中引用 Project 参数。这就是导致错误的原因。 在SSIS 2016中,您可以从项目中deploy single package保持项目模式,而在SSIS 2012或2014中则不能。
在您的情况下,我将从服务器上卸载Project,对程序包进行必要的修改,然后将更新后的Project部署回去。