【问题标题】:how to change the server name in the connection manager through variables如何通过变量更改连接管理器中的服务器名称
【发布时间】:2018-08-16 13:26:14
【问题描述】:

我有一个要求,我必须通过变量在连接管理器中动态更改服务器名称。我将通过存储过程中的变量传递服务器名称。这样做的原因是因为 Package 最初将在 Dev 环境中创建,但稍后将部署在 UAT 上,然后部署在 Live 上。作为开发人员,我无法访问 UAT 和 Live。将要部署包的人将不了解 ssis。我

有人知道怎么做吗?

【问题讨论】:

    标签: visual-studio-2015 ssis ssis-2012 sql-server-data-tools


    【解决方案1】:

    您可以转到您的连接管理器,然后在“属性”中单击“表达式”中的省略号。选择ServerName 属性并为其分配必要的变量或参数。只要您确认元数据将在运行时正确对齐,在任何数据流任务上将 DelayValidation 设置为 true 并将源/目标组件上的 ValidateExternalMetadata 设置为 false 也可能会有所帮助。

    【讨论】:

      【解决方案2】:

      这通常通过某种类型的配置来完成。

      在 ssis 2012 之前,这仅通过配置文件完成,但从 2012 年开始,参数也是一种选择。

      配置文件:

      在 DEV 中设置您的初始配置文件,并在连接管理器中设置连接字符串的属性以由配置文件配置。在您的环境中推广您的软件包时,您需要更改配置文件。

      在提供促销说明时,让代理应用您建立的配置文件。

      参数:

      非常相似,但更直接来自代理。需要在“包或项目”上设置参数,然后使用表达式引用正在配置的属性上的参数(在您的情况下是到 DB 的连接字符串)。建立作业时可以直接在Agent中设置参数。

      附注:

      您通常还需要在通过环境进行升级时通过 config 定义文件路径。

      【讨论】:

        【解决方案3】:

        您查看过软件包配置吗?使用执行 SQL 任务将值提取到变量中,然后在连接管理器上,右键单击并选择属性。在下拉列表中选择 ServerName 属性并在此处使用您的变量将其动态设置为配置表/文件中的内容。不要忘记将连接设置为 DelayValidation = True 以克服运行时编译错误。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-09-07
          相关资源
          最近更新 更多