这可能听起来像一个简单的问题,但网上的答案都指向设置环境并在项目/包中引用它的基础知识。
我遇到过的场景从未在任何地方被提及过,所以我认为在这里记录行为会很好。
以下是重现问题的步骤:
1.创建一个新包:Package1.dtsx
2.创建一个新的(包)参数:Test, Int32, Required
3.部署项目。
4.转到Integration Services目录并导航到包
5.右键单击包,然后单击配置...
6.单击包参数Test
旁边的“...”
7.您将看到"Use environment variable"
选项被禁用/变灰。
为什么?
答案 0 :(得分:19)
在将它们映射到一起之前,必须单击“引用”和“添加为该程序包创建的环境”,然后才能为您启用它。
答案 1 :(得分:10)
博客和论坛的大多数答案现在都说你需要创建一个环境并将其链接到包,等等,等等。但是,他们都没有提到这样一个事实,即为了启用该选项,您必须拥有匹配数据类型的变量!
请允许我演示。
Demo
Test, String
Demo
链接到包Package1.dtsx
"Use environment variable
选项仍会被禁用/显示为灰色。为什么?因为数据类型不匹配。 重要信息 - 变量名称不必匹配,只需匹配数据类型。 Aha, Int32, 0
Test
"Use environment variable"
选项?
答案 2 :(得分:1)
我们必须先在包内的引用中添加环境变量。