为什么在SSIS2012目录配置中禁用/灰显"使用环境变量"选项?

Lou*_*Bao 10 ssis-2012

这可能听起来像一个简单的问题,但网上的答案都指向设置环境并在项目/包中引用它的基础知识.

我遇到的场景从未在任何地方被提及过,所以我认为在这里记录行为会很好.

以下是重现问题的步骤:
1.创建新包:Package1.dtsx
2.创建新的(包)参数:Test, Int32, Required
3.部署项目.
4.转到Integration Services目录并导航到该程序包.
5.右键单击包,然后
单击配置... 6.单击包参数Test
7 旁边的"..." .您将看到该"Use environment variable"选项被禁用/变灰.

设置参数值

这是为什么?

小智 20

在将它们映射到一起之前,必须单击"引用"和"添加为该包创建的环境",然后将为您启用它.

  • Ben,这个答案_does_添加问题:如果环境与项目/包没有关联,"使用环境变量"选项将显示为灰色,即使变量确实具有匹配的数据类型. (2认同)

Lou*_*Bao 10

博客和论坛的大多数答案现在都说你需要创建一个环境并将其链接到包,等等,等等.但是,他们都没有提到这样一个事实:为了启用该选项,你必须拥有匹配数据类型的变量!

请允许我演示.

  1. 创建一个环境: Demo
  2. 创建一个变量: Test, String
  3. 请注意,环境变量的数据类型与包参数不同.
  4. 将环境链接Demo到包Package1.dtsx
  5. 这是网站上大多数答案的地方.如果你已经做了我告诉你要做的事情,那么你的"Use environment variable选择仍然是禁用/灰显的.为什么?因为数据类型不匹配.重要信息 - 变量名称不必匹配,只需匹配数据类型.
  6. 现在让我们完成吧.返回环境并创建另一个Int32变量:Aha, Int32, 0
    环境变量
  7. 返回配置...并单击package参数旁边的"..." Test
  8. 看看"Use environment variable"现在如何启用该选项? 使用环境变量选项已启用