For the properties:
Persist Security Info=true
and
Persist Security Info=false
Can you tell me what is the difference between them, and if I don't put it in my connection what will happen?
connect.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=C:/Users/Nourah/Downloads
/Phase3/Salary.accdb;
Persist Security Info=False;";
Even if you set Persist Security Info= true
OR Persist Security Info=false
it won't show a difference in front..The difference is happening at background
When Persist Security Info set to false
security-sensitive
information, such as the password, is not returned as part of the
connection if the connection is open or has ever been in an open
state.
If you set Persist Security Info to True
, Windows will remember the password specified in the connection string.
Thats the difference.
setting Persist Security Info
true or false will come into effect only if you mention username and password in connection string. If you mention username and password in connectionstring and set Persist Security Info
as false
then the credentials cannot be extracted. but if you set Persist Security Info
as true while giving credentials in the connectionstring windows will remember the credentials and it can extracted in program
I found this answer here from Dan Guzman, SQL Server MVP:
I suggest you specify FALSE or omit the keyword entirely since it is the default, even during development. The only time you need to specify TRUE is if the application uses SQL authentication and subsequently retrieves the password from the connection object, which in my experience is rarely done or needed. Performance is not a concern.
来源:https://stackoverflow.com/questions/30419627/persist-security-info-property-true-and-persist-security-info-property-false