我正在尝试使用 SQL Server Integration Services 2012 中的敏感参数来配置我的数据源连接。我正在使用 OLE DB 连接到 SQL Server 2012 数据库。
我发现您不能使用敏感参数来分配 OLE DB 连接管理器的连接字符串或密码属性。连接字符串拒绝分配敏感参数的值。
密码属性将参数作为表达式的值,但连接实际上不起作用。我只是收到“用户名登录失败”错误,所以我认为它实际上并没有正确分配密码。当我将密码参数更改为不敏感时,连接正常工作。
使用密码参数进行分配时,我必须分配所有其他连接属性(用户名、服务器名、初始目录,并且我还必须在连接字符串中设置某些值)。
有没有办法使用敏感参数来配置我的连接,或者这只是 OLE DB 连接管理器的限制?
我宁愿不加密整个包,因为这意味着加密整个解决方案。能够使用版本控制跟踪 XML 中的更改很有用,如果整个解决方案都被加密,这将是不可能的。但是,重要的是不要以纯文本形式存储数据库连接信息。
我能想到的唯一其他解决方案是将连接管理器移出包并使其成为项目级连接。我发现它们保留了所有连接信息,无需在运行时进行配置,并保持必要的部分加密。从查看 XML 看来,它们甚至是敏感字段。