敏感 SSIS 包参数字符串中的特殊字符使包无效

Special character in Sensitive SSIS Package Parameter String renders package invalid

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

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

Microsoft SQL Server Management Studio: Errors were detected in the command line arguments, please make sure all arguments are set correctly. (SqlManagerUI)

直接在Visual Studio Data Tools中执行,或者当{从密码中删除,或者当String被配置为常规的非敏感字符串时,该包有效.我不能简单地更改密码,因为它是由第 3 方提供的,我真的很想保持配置不变。

我认为这个问题与 有关。

有办法解决这个问题吗?我试图逃脱 { 但无济于事。

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

所以试试我的方法:

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

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