ADO 用了这么久,每次用向导创建 ADO 的数据库连接字符串时总会有产生一个 Persist Security Info 属性,平时没太注意,因为设置为 True 或 False 时对数据库连接没有任何影响。不过心理还是不爽,今天有时间查询了一下资料,总算搞清楚了它的作用。
Persist Security Info 属性的意思是表示是否保存安全信息,其实可以简单的理解为“ADO 在数据库连接成功后是否保存密码信息”,True表示保存,False表示不保存。
ADO 缺省为 True(ADO.net 缺省为 False,未测试,根据参考资料上说的)
具体可以通过 ADO 的 Connect 对象的 ConnectString 属性进行验证,如下所示(以下在 Delphi7 中测试通过):
--------------------------------------
数据库连接前
ConnectString="Provider=MSDAORA.1;Password=mypassword;User ID=yzs;Data Source=ydgl22;Persist Security Info=false"
数据库连接成功后
ConnectString="Provider=MSDAORA.1;User ID=yzs;Data Source=ydgl22"
--------------------------------------
数据库连接前
ConnectString="Provider=MSDAORA.1;Password=mypassword;User ID=yzs;Data Source=ydgl22;Persist Security Info=true"
数据库连接成功后
ConnectString="Provider=MSDAORA.1;Password=mypassword;User ID=dlyx;Data Source=ydgl22"
--------------------------------------
总体来说,如果数据库连接成功后不再需要连接的密码,出于安全性考虑,还是建议将 Persist Security Info 设为 false,以防止后门程序取得数据库连接的密码(windows2003 在 sp1 前就发生过这个问题)。
浙公网安备 33010602011771号