对于属性:
Persist Security Info=true
和
Persist Security Info=false
你能告诉我它们之间的区别是什么吗?如果我不把它放在我的连接中,会发生什么?
connect.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=C:/Users/Nourah/Downloads
/Phase3/Salary.accdb;
Persist Security Info=False;";
发布于 2015-05-24 13:50:33
即使您设置了Persist Security Info=true
或Persist Security Info=false
,它也不会在前面显示区别。差异是在后台发生的。
为Persist Security Info=False
时,如果连接已打开或曾经处于打开状态,则不会将安全敏感信息(如密码)作为连接的一部分返回。
如果设置了Persist Security Info=True
,Windows将记住连接字符串中指定的密码。
这就是区别所在。
只有在连接字符串中提到用户名和密码时,设置Persist Security Info
true或false才会生效。如果在连接字符串中提到用户名和密码并将Persist Security Info
设置为false
,则无法提取凭据,但如果在连接字符串中提供凭据时将Persist Security Info
设置为true,windows将记住凭据,并且可以通过编程方式提取凭据。
发布于 2019-03-04 02:33:22
我从SQL Server MVP Dan Guzman那里找到了这个答案here:
我建议您指定FALSE或完全忽略该关键字,因为它是默认的,即使在开发期间也是如此。只有当应用程序使用SQL身份验证并随后从connection对象检索密码时,才需要指定TRUE,根据我的经验,这种情况很少发生,也很少需要。性能不是问题。
https://stackoverflow.com/questions/30419627
复制相似问题