如何更改已从C#代码过期的sql server密码?

时间:2015-04-02 22:09:43

标签: c# sql-server sqlconnection

当您使用SqlConnection连接到MS Sql Server时,如果密码已过期,您将获得SqlException Number:18487或18488。

如何在连接尝试期间更改代码中的用户密码?

1 个答案:

答案 0 :(得分:4)

使用静态SqlConnection.ChangePassword()方法。

string original_dsn = "server=mysql.server.com,1433;database=pubdb;User Id={0};Password={1};"
string dsn = String.Format(original_dsn, username, password);

SqlConnection conn = new SqlConnection( dsn );
try
{
     conn.Open();
}
catch(SqlException e)
{
    if (e.Number == 18487 || e.Number == 18488)
           SqlConnection.ChangePassword(dsn, newpassword);
           // Try login again here with new password
    else
           MessageBox.Show(e.Message);
}
finally 
{
    conn.Close(); 
}