首页 > 解决方案 > Sql连接C#登录失败

问题描述

我无法通过 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());
            }

        }

标签: c#sql-serversqlconnection

解决方案


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

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

或这个

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

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


推荐阅读