2008年01月03日 星期四 10:19
ADO數據庫連接中的Persist Security Info參數的作用
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前就發生過這個問題)。