gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 17:47:05 25 4
gpt4 key购买 nike

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

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

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

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

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

最佳答案

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

重新启动 SQL Server 后,它开始使用间接包配置 (.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. 在 Debug模式下执行包。执行成功,如预期。
  5. 将环境变量值更改为指向 Config_Error.dtsConfig 文件路径。
  6. 在 Debug模式下执行包。仍然执行成功。但是,它应该失败,因为 .dtsConfig 现在有无效值。这意味着,环境变量的修改值仍然不可用于 Visual Studio 调试器。
  7. 重新启动 Visual Studio。
  8. 在 Debug模式下执行包。执行失败,如预期的那样。即重新启动后,Visual Studio 获得了环境变量的修改值。

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

关于ssis - 使 SSIS 包使用包配置(.dtsConfig 文件)而不是变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47988074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com