【问题标题】:SSIS 2012 Dynamic OLE DB ConnectionString using a parameter使用参数的 SSIS 2012 动态 OLE DB ConnectionString
【发布时间】:2013-04-20 20:48:12
【问题描述】:

我有一个项目需要部署到不在我们网络中的服务器上,因此不知道某些属性,例如服务器和数据库名称。所以我在“Project.params”区域设置了一个参数。在这个字符串参数中,我放置了:“Data Source=" + @[$Project::ServerName] + ";User ID=" + @[$Project::UserName] + ";Initial Catalog=" + @[$Project: :初始目录]; +“提供者=SQLNCLI11.1;持久安全信息=真;”在尝试此操作之前,我从我设置的原始连接中复制了连接。

当我在表达式中将项目级别的 OLEDB 连接管理器设置为此参数(用于连接字符串)时,我得到的字符串就像我键入的那样,而不是其他参数的值。换句话说,当评估时,表达式就像上面一样。这样做会使包中使用该连接的所有组件无效。关于我做错了什么的任何想法?提前谢谢你。

【问题讨论】:

    标签: connection-string oledb ssis-2012


    【解决方案1】:

    您不能在单个参数化 OLE DB 连接管理器中使用多个项目参数。此外,您不能创建动态构建在其他项目参数上的项目参数,因为它们在脚本任务中是只读的。

    您需要使用本地(包级)连接管理器,该连接管理器使用变量作为其连接字符串。该局部变量可以基于项目参数值构建。

    另请参阅此帖子以了解类似情况: Expression Builder of Connection Manager not showing Variables

    【讨论】:

      【解决方案2】:

      您的连接字符串缺少密码字段。我遇到了同样的问题,添加引用变量/参数的密码字段为我解决了这个问题。还要确保 Connection Manager 的 DelayValidation 属性设置为“True”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-23
        • 2016-11-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多