C# 如何在C中使用Windows身份验证获取SQL Server名称#

C# 如何在C中使用Windows身份验证获取SQL Server名称#,c#,sql-server,C#,Sql Server,我正在尝试使用C#获取服务器名称,因为我正在尝试使用上述代码 SqlConnection con; SqlCommand cmd; SqlDataReader dr; con = new SqlConnection("Data Source=.;Database=Master;Integrated Security=SSPI"); con.Open(); cmd = new SqlCommand("sel

我正在尝试使用C#获取服务器名称,因为我正在尝试使用上述代码

    SqlConnection con;
    SqlCommand cmd;
    SqlDataReader dr;

 con = new SqlConnection("Data Source=.;Database=Master;Integrated Security=SSPI");
                con.Open();
                cmd = new SqlCommand("select *  from sysservers  where srvproduct='SQL Server'", con);

                dr = cmd.ExecuteReader();

                while (dr.Read())
                {

                    ServerCollection.Add(dr[2].ToString());

                }

                dr.Close();

这是一个例外,比如用户Dhaval.patel的登录失败,所以任何人都可以帮助如何使用C#中的window身份验证进行连接。

尝试这样放置
Integrated Security=true

con =  new SqlConnection("Data Source=.;Database=Master; Integrated Security=true");
应该是这样的:-

 ("Server= localhost; Database=Master;Integrated Security=SSPI, Integrated Security=True");
如果您有一个命名的SQL Server实例,那么还需要添加该实例, e、 g


例外情况究竟是什么?在哪一行?在con.Open中,用户“PLAYROOM\dhaval.patel”的异常登录失败。InnerException Null为什么在连接字符串中定义了
数据源=。
两次?我更改了它,但它仍然不工作检查服务器身份验证模式是否仅设置为SQL server身份验证。如果我使用con=new-SqlConnection(“数据源=;数据库=主机;数据源=;uid=“+UserName+”;pwd=”则为是+密码+“;”;然后使用SQL身份验证工作正常,但我想使用Windows身份验证打开,而不使用任何用户名和密码。如果kai help male to@DhavalPatelwhat是您的sqlserver实例名称?
"Server=localhost\sqlexpress"