2

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

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

4

2 回答 2

2

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

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

另请参阅此帖子以了解类似情况: 连接管理器的表达式生成器未显示变量

于 2013-10-08T18:00:14.340 回答
0

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

于 2017-08-17T14:24:51.573 回答