在 Web 服务任务编辑器中连接文件中的字符串和硬编码字符串
Posted
技术标签:
【中文标题】在 Web 服务任务编辑器中连接文件中的字符串和硬编码字符串【英文标题】:Concatenate a string from a file and hard-coded string in Web Service Task Editor 【发布时间】:2017-09-29 07:34:51 【问题描述】:我有一个 SSIS 解决方案,其中包含大约 45 个单独的包。每个包都包含一个 Web 服务任务,用于从我们在云中存储数据的提供商之一提取数据。
我遇到的问题是每个 Web 服务任务都引用了一份关于 提供者服务器通过使用“连接字符串”。此连接字符串位于 Web 服务任务的“输入”选项卡上的“值”部分中。但是我们的密码每 90 天对提供商过期一次,当密码过期时,我必须更改每个包上的连接字符串。
连接字符串的结构如下:[加密密码][报告名称]。
我想做的是创建一个引用 .txt 的变量。具有连接字符串的 [加密密码] 部分的文件,并连接 [报告名称] 部分。这样,每当密码改变时,只需要在 .txt 文件中更改即可。
有人可以帮我创建一个变量,该变量将 .txt 文件中的值与变量 writer 中的硬编码字符串连接起来吗?
谢谢
【问题讨论】:
我认为不需要将密码保存在文件中。我建议使用参数并将其标记为敏感。您使用的是包还是项目部署? 项目部署。可以在每个单独的项目中引用您上面提到的相同参数吗?我最担心的是只有一个地方可以在一个地方更改加密密码,而不是 45。 你有几个项目吗?你是说包裹吗? 是的,对不起。一个包含多个软件包的项目。 【参考方案1】:您无需将密码保存在文件中。如果您使用的是项目部署模型,您可以简单地使用项目参数。
在您的 SSIS 项目下的 Visual Studio 中,您应该会看到一个名为 project.params 的项目,双击它进行编辑。 在参数窗口中添加一个新参数并输入您的密码。说“服务密码”。 将敏感设置为 true。
转到每个 web 服务任务,在属性选项卡上单击表达式。选择连接字符串并将其设置为:@[$Project::servicePassword] + "[reportName]", 其中 [reportName] 是当前 Web 服务任务的报告。您可能还必须在此步骤中使用 Web 服务 url。
将项目部署到 SSIS 目录后,您可以将项目配置为使用当时有效的生产密码。打开 SSMS,转到集成服务目录,展开您的项目文件夹,然后右键单击您的项目并选择配置。设置 servicePassword 参数。
【讨论】:
以上是关于在 Web 服务任务编辑器中连接文件中的字符串和硬编码字符串的主要内容,如果未能解决你的问题,请参考以下文章