在 SSIS 2012 中将项目参数敏感 属性 设置为 true 时出现验证错误

validation error when project parameter sensitive property is set to true in SSIS 2012

我正在使用 SSIS 2012 并通过项目部署模型部署项目。我有 3 个项目连接管理器,并通过项目参数将密码信息传递给连接管理器。当我将密码参数的敏感 属性 设置为 False 时,程序包运行正常,但是当我将其设置为 true 时,它​​会出现以下错误:

错误:SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器 "ConnManager" 的 AcquireConnection 方法调用失败,错误代码为 0xC0202009

这是错误的,因为您试图触摸标记为敏感的参数。您不能使用 "old" 方法来配置连接管理器。对于项目部署模型和连接管理器,在 SSISDB 中,右键单击项目并 select 配置。

这是你覆盖密码的地方。

否则,您需要使用 GetSensitiveValue 方法来访问值,而不是标准的 Getter 属性.

Dts.Variables["$Package::FtpPassword"].GetSensitiveValue().ToString();

查看 Matt 的文章 Retrieving the Value of a Sensitive Parameter in a Script