解密SSIS密码节点

Decrypt SSIS password node

我有一个要从 WCF 服务执行的 SSIS 包。我希望将密码存储在包裹内。在项目中,我将 ProtectionLevel 设置为 EncryptSensitiveWithPassword 并添加了包和项目的密码。到目前为止一切都很好。当我尝试从服务执行程序包时会出现问题。它抛出 2 个错误,表示它无法解密加密的 XML 节点,因为未指定密码或密码不正确。我已经像这样添加了包的密码

package.PackagePassword = password;

之后它告诉我用户登录失败(我认为这很明显,因为它未能解密密码节点)并且执行停止。

我这样做的原因是为了避免手动编辑 .dtsx 文件并添加连接密码。

另外我是包的所有者(我读到当创建包的用户与执行它的用户不同时这可能是一个问题,而且我已经再次检查密码和保护级别,密码正确且保护级别未设置为EncryptSensitiveWithUserKey.

关于如何进行的任何建议?

经过大量调查,我得出的结论是这种方法行不通。因此,对于任何有兴趣在 .dtsx 中存储连接密码的人,只需使用 DontSaveSensitive 保存包并在包的连接字符串中手动添加密码。