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());
            }

        }

解决方法

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

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

或这个

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

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

,

正确的方式是

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配置管理器”

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...