【问题标题】:Special character in Sensitive SSIS Package Parameter String renders package invalid敏感 SSIS 包参数字符串中的特殊字符导致包无效
【发布时间】:2019-02-28 07:46:54
【问题描述】:

我在 SSIS 包上有一个敏感字符串参数,用于存储远程服务器的密码。

但是,当字符串值包含大括号时,作业代理在配置该步骤的包参数时会引发错误:

Microsoft SQL Server Management Studio:在命令行参数中检测到错误,请确保所有参数设置正确。 (SqlManagerUI)

当直接在 Visual Studio Data Tools 中执行该包,或者从密码中删除 {,或者将字符串配置为常规的非敏感字符串时,该包将起作用。我不能简单地更改密码,因为它是由第 3 方提供的,并且真的希望保持配置不变。

我相信这个问题与SQL Server 2016 problems with SSIS String parameters有关。

有没有办法修复这个问题?我试图逃离{,但无济于事。

【问题讨论】:

  • 还有另一个与此相同的问题,但没有答案,只有一些解决方法的想法。也许那里的东西对你有用? stackoverflow.com/questions/48689875/…
  • 我想念那个。感谢您提及它,@digital.aaron

标签: sql-server ssis sql-server-2016 ssis-2016 sql-server-job


【解决方案1】:

我有一些带花括号的密码,但从未遇到过这个问题。我做不同的一件事是使用环境变量。我所有的连接字符串、密码、文件路径和其他环境变量都在环境变量中。然后将 SSIS 包中的每个参数映射到相应的环境变量。

所以来试试我的方法:

  1. 创建环境
  2. 创建与参数对应的变量
  3. 在项目中添加对环境的引用
  4. 在作业的配置选项卡上,选择环境

如果您对这些步骤有任何疑问,请告诉我,我可以尝试提供一些额外的详细信息。

【讨论】:

  • 太棒了,这就像一个魅力!非常感谢,杰里米。
猜你喜欢
  • 1970-01-01
  • 2020-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-12
  • 1970-01-01
  • 2020-08-26
相关资源
最近更新 更多