c#用户登录失败

本文关键字:失败 登录 用户 | 更新日期: 2023-09-27 18:07:50

protected DataTable GetData(string Query)
{
          DataTable data = new DataTable();
          try
          {
                strConnectionString = "data source=(local);Integrated Security=True;initial catalog=ps_erdb;";
                string Query = "Select ErdbBuildNumbereMinor from DBVersion";
                using (sqlConnection = new SqlConnection(strConnectionString))
                {
                    sqlConnection.Open();
                    SqlCommand cmd = sqlConnection.CreateCommand();
                    cmd.CommandTimeout = intConnectionTimeout;
                    cmd.CommandText = Query;
                    data.Load(cmd.ExecuteReader());
                    sqlConnection.Close();
                }
                return data;
            }
            catch (Exception ex)
            {
        }
        return data;
}

上面的代码返回错误

无法打开登录请求的数据库"ps_erdb"。登录失败了。用户"MIG3-ESVTB'HPSInstall"登录失败。

但是当我手动打开SQL Server管理工作室与上述登录,我能够连接到数据库并执行查询

c#用户登录失败

可以考虑的几个可能性:

  1. 您的本地客户端是用什么用户登录的?你的连接字符串表示您正在使用集成安全性,因此应用程序将向SQL Server显示您当前登录的凭据。为了帮助诊断,确保为失败&启用登录审计。成功的登录。当您从SSMS连接并运行SELECT suser_name()时,它返回什么?

  2. 是为multi_user模式(默认)或single_user设置的数据库模式?可能有人把它改成了single_user。这允许第一次也是唯一一次联系。所有后续尝试都将失败。如果是单用户模式,只需执行ALTER DATABASE ps_erdb SET MULTI_USER from SSMS

  3. 当您通过SSMS登录时,您是否能够从ps_erdb数据库?如果没有,请确保映射了一个数据库用户"MIG3-ESVTB'HPSInstall"登录和授予用户(不是登录)的适当权限。