使 SSIS 包使用包配置(.dtsConfig 文件)而不是变量

Make SSIS package use Package Configuration(.dtsConfig file) instead of Variables

我创建了一个 SSIS 包。我想在本地使用变量进行开发。但是,当我将此包移至 QA 时,我想使用 XML 包配置文件 (.dtsConfig) 以便它将使用特定于环境的值。我正在使用 间接配置文件 ,方法是在环境变量 中保留 .dtsConfig 文件路径,并且我 打开 "Enable Package Configuration"

我生成了 .dtsConfig 文件并对其进行了必要的更改(针对特定于环境的值)。将 .dtsx & .dtsConfig 文件复制到不同的服务器。在服务器上创建了环境变量,其值具有 .dtsConfig 文件的路径。从 SQL 作业调用 SSIS 包。

但是,在服务器上它使用的是变量值,而不是 .dtsConfig 文件中的值。在本地时,它使用 .dtsConfig 文件中的值。我想要完全相反的行为。

我在这里错过了什么?这种行为还有其他一些 属性 吗?

注意:在 SQL 作业的 "Configurations" 选项卡中添加 .dtsconfig 文件路径,使用包配置文件中的值。但我想为 .dtsConfig 文件路径使用环境变量

环境变量在进程启动时被缓存,因此在您重新启动进程之前添加新变量是不可见的,无论是 BIDS 还是 SQL Agent 或其他。 [从互联网上获取]

重新启动 SQL 服务器后,它开始使用间接包配置 (.dtsConfig) 文件。但是,重启所有环境的数据库服务器并不是一个可行的解决方案。所以我更喜欢使用 SQL 作业配置。即在作业配置中添加 .dtsConfig 文件路径。

在开发过程中,我必须在创建环境变量后重新启动 Visual Studio。为了确认此行为,我遵循了以下步骤:

  1. 创建了两个 .dtsConfig 文件。 Config_Error.dtsConfig & Config.dtsConfig。名称是不言自明的。 Config_Error.dtsConfig 文件有错误。所以当环境变量有 Config_Error.dtsConfig 文件路径时,包应该失败。
  2. 已创建指向 Config.dtsConfig 文件路径的环境变量。
  3. 在 Visual Studio 中打开解决方案。
  4. 在调试模式下执行包。执行成功,符合预期。
  5. 已将环境变量值更改为指向 Config_Error.dtsConfig 文件路径。
  6. 在调试模式下执行包。仍然执行成功。但是,它应该失败,因为 .dtsConfig 现在有无效值。这意味着,环境变量的修改值仍然无法用于 Visual studio 调试器。
  7. 已重新启动Visual Studio。
  8. 在调试模式下执行包。执行失败,如预期的那样。即重新启动后,Visual Studio 得到了环境变量的修改值。

所以,如果我们使用环境变量,消费程序应该在任何更改后重新启动。