SQL连接C#登录失败

时间:2020-09-30 21:35:48

标签: c# sql-server sqlconnection

我无法通过C#连接到我的数据库,这使我发疯。

我知道我的凭据很好,因为我可以使用它们打开SQLServerMangement并查询数据库。

我总是登录失败!

我正在尝试使用许多不同的连接字符串,但没有任何效果。

-> System.Data.SqlClient.SqlException(0x80131904):用户登录失败

        var connectionStrings = new List<string>();

        connectionStrings.Add("Data Source=myserver;Initial Catalog=mycatalog;User ID=myuser;Password=mypassword");
        connectionStrings.Add("Data Source=myserver;Initial Catalog=mycatalog;User ID=mydomain/myuser;Password=mypassword");
        connectionStrings.Add("Data Source=myserver;Initial Catalog=mycatalog;User ID=mydomain\\myuser;Password=mypassword");
        connectionStrings.Add("Data Source=myserver;Initial Catalog=mycatalog;User ID=mydomain\\\\myuser;Password=mypassword");
        connectionStrings.Add("Data Source=myserver;Initial Catalog=mycatalog;User ID=mydomain//myuser;Password=mypassword");
        connectionStrings.Add("Data Source=myserver;Initial Catalog=mycatalog;User ID=mydomain\\myuser;Password=mypassword");


        foreach (var con in connectionStrings)
        {
            SqlConnection cnn ;
            cnn = new SqlConnection(con);
            try
            {
                cnn.Open();
                Console.WriteLine("Connection Open !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ");
                cnn.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Can not open connection ! ");
                //Console.WriteLine(ex.ToString());
            }

        }

2 个答案:

答案 0 :(得分:4)

mydomain\myuser尝试表明您可能正在使用集成安全性或Trusted_Connection。在这种情况下,连接字符串如下所示:

Server=myserver;Database=mycatalog;Trusted_Connection=True;

或这个

Server=myserver;Initial Catalog=mycatalog;Integrated Security=True;

这里没有允许您指定用户名或密码的组合。如果要使用用户名/密码,则必须设置sql身份验证并创建一个单独的sql帐户。除了以建立连接的用户身份运行程序之外,您无法手动指定Active Directory或Windows登录凭据来连接数据库。

答案 1 :(得分:1)

正确的方式是

connectionStrings.Add("Data Source=myserver;Initial Catalog=mycatalog;User ID=myuser;Password=mypassword");

此外,您可以选中https://www.connectionstrings.com/ https://www.connectionstrings.com/sql-server/

最后,检查服务器是否发布了端口1433,也许您尝试远程连接服务器并且该端口已被防火墙阻止,或者该端口被禁用以进行远程连接。 (并且您只能使用Pipe或Message Exchange在本地连接)。 检查“ SQL Server配置管理器”