【问题标题】:How do I change a sql server password that has expired from C# code?如何更改已从 C# 代码过期的 sql server 密码?
【发布时间】:2015-04-02 22:09:42
【问题描述】:

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

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

【问题讨论】:

    标签: c# sql-server sqlconnection


    【解决方案1】:

    使用静态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(); 
    }
    

    【讨论】:

      猜你喜欢
      • 2019-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      • 2010-09-15
      • 2023-04-03
      • 1970-01-01
      • 2012-02-17
      相关资源
      最近更新 更多