【发布时间】:2015-04-02 22:09:42
【问题描述】:
当您使用 SqlConnection 连接到 MS Sql Server 时,如果密码已过期,您将收到 SqlException Number:18487 或 18488。
在连接尝试期间如何在代码中更改用户密码?
【问题讨论】:
标签: c# sql-server sqlconnection
当您使用 SqlConnection 连接到 MS Sql Server 时,如果密码已过期,您将收到 SqlException Number:18487 或 18488。
在连接尝试期间如何在代码中更改用户密码?
【问题讨论】:
标签: c# sql-server sqlconnection
使用静态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();
}
【讨论】: