13

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

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

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

设置参数值

这是为什么?

4

3 回答 3

25

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

于 2015-01-27T15:06:20.220 回答
12

来自博客和论坛的大多数答案现在都会说您需要创建一个环境并将其链接到包,等等。但是,他们都没有提到要启用该选项,您必须拥有具有MATCHING DATA TYPES的变量!

请允许我演示一下。

  1. 创建环境:Demo
  2. 创建一个变量:Test, String
  3. 请注意,环境变量的数据类型与包参数不同。
  4. 将环境链接Demo到包Package1.dtsx
  5. 这是网上大多数答案停止的地方。如果您到目前为止已经完成了我告诉您的操作,您的"Use environment variable选项仍然被禁用/灰显。为什么?因为数据类型不匹配。重要 - 变量名不必匹配,只有数据类型。
  6. 现在让我们完成它。回到环境并创建另一个 Int32 变量:Aha, Int32, 0
    环境变量
  7. 返回配置...并单击包参数旁边的“...”Test
  8. 看看"Use environment variable"现在如何启用该选项? 使用环境变量选项已启用
于 2014-04-01T02:56:24.767 回答
1

我们必须首先在包内的引用中添加环境变量。

于 2021-03-12T21:21:40.163 回答