【问题标题】:SSIS 2008: Changing a Data Source's Connection String Not Reflecting in Referencing PackagesSSIS 2008:更改数据源的连接字符串不反映在引用包中
【发布时间】:2012-03-25 13:30:42
【问题描述】:

为此苦苦挣扎了很长一段时间,因此感谢您提供任何帮助。花了很多时间查看 MSDN、Google 等,但仍然没有运气。

我有一个 SSIS 项目,我打算始终在 BID 中执行。该项目有多个包,因此我创建了一个数据源以在所有包之间共享。

在每个包中,我根据该数据源创建一个连接管理器。现在,当我编辑此数据源的连接字符串以指向不同的服务器时,更改不会反映在包中。

现在,MSDN 的说法正好相反。事实上,Data Sources 的主要目的之一是在 BID 中轻松更新连接字符串;至少根据 MSDN。

对我来说它不起作用。这一定是迄今为止我在 BID 中看到的最烦人的事情。

大家有什么建议吗?

更新 如果数据源的身份验证是 SQL 服务器,则 BID 似乎不会将数据源更改与连接管理器同步。如果是 Windows 身份验证,它会检测到更改正常。

确实很有趣。

【问题讨论】:

    标签: ssis connection-string datasource


    【解决方案1】:

    只是猜测。当您配置了“包配置”时,就会发生这种行为。

    右键单击控制流的任何空白区域并选择“包配置”。如果选中“启用包配置”复选框并且您的连接字符串上有配置,它将覆盖您手动指定的任何值。

    【讨论】:

    • 感谢您的建议。我关闭了包配置。我终于弄明白了;详情见我的回答。
    【解决方案2】:

    我为那些感兴趣的人想出来了。我不确定这是否是 BID 中的错误,但我希望这可以帮助其他人解决这个问题。

    您只需一次性打开所有包裹。这就像突出显示解决方案中的所有包一样简单,右键单击,然后选择“打开”。

    打开所有包后,继续编辑数据源的连接属性。 BID 将自动将新更改应用到所有 打开 具有基于该数据源的连接管理器的包。

    希望这对某人有所帮助。

    【讨论】:

    • 我会考虑放弃“数据源”并切换到“包配置”是否更合适。我从未使用过数据源,因为我的应用程序必须透明地部署到开发、测试和生产中。任何针对每个环境的更改都是违法的,因为这将使之前所做的任何测试完全无效。相反,每个服务器环境上的配置数据库都存储了该环境详细信息的完整知识,因此无论您将它们放在哪里,这些包都可以正常工作。如果确实发生了变化,那么它只是一个配置条目,而不是重新部署。
    • @tlum 有关如何使用包配置的更多信息?我认为这是我想要的解决方案
    【解决方案3】:

    我发现我无法更改任何数据连接配置值,因为为连接字符串定义了一个变量。启用/禁用包配置对行为没有影响。

    要访问变量菜单,请右键单击 DTSX 设计器背景上的任意位置并选择变量。确保数据连接引用的变量列表中没有任何值。如果您在任何地方都找不到引用,请尝试修复可能影响它的变量的值。

    【讨论】:

      【解决方案4】:

      您需要更改相应的 dtsx 包。在notepad++中打开,搜索连接字符串,修改并保存。您现在可以在解决方案中看到连接的变化。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-08
        相关资源
        最近更新 更多