Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 本地SqlServer 2016-登录失败_C#_.net_Sql Server_Database Connection - Fatal编程技术网

C# 本地SqlServer 2016-登录失败

C# 本地SqlServer 2016-登录失败,c#,.net,sql-server,database-connection,C#,.net,Sql Server,Database Connection,你能帮我吗?我需要连接到SqlServer 2016上的本地数据库,但当我尝试打开连接时,出现了此错误。我不尝试其他登录方式,因为我不记得密码(我总是使用windows auth。) 其他信息:无法打开请求的数据库“My_Project” 通过登录。登录失败 用户“DESKTOP-C448DNE\Denis”登录失败 以下是我使用的c代码: public class DbHelper { public SqlConnection Connection { get; private set

你能帮我吗?我需要连接到SqlServer 2016上的本地数据库,但当我尝试打开连接时,出现了此错误。我不尝试其他登录方式,因为我不记得密码(我总是使用windows auth。)

其他信息:无法打开请求的数据库“My_Project” 通过登录。登录失败

用户“DESKTOP-C448DNE\Denis”登录失败

以下是我使用的c代码:

public class DbHelper
{
    public SqlConnection Connection { get; private set; }
    public string Language { get; set; }

    public DbHelper()
    {
        Connection = new SqlConnection();
        Language = "en";
    }

    public bool Connect(string conString)
    {
        if (Connection.State != ConnectionState.Open)
        {
            Connection.ConnectionString = conString;
            Connection.Open();
        }
        return true;
    }

    public bool Connect()
    {
        string connString = "Data Source=(localdb)\\MSSQLLocalDB; Initial Catalog = My_Project; Integrated Security=true;";

        return Connect(connString);
    }

    public void Close()
    {
        Connection.Close();
    }

    public int ExecuteNonQuery(SqlCommand sqlCommand)
    {
        int rowNumber = 0;
        try
        {
            rowNumber = sqlCommand.ExecuteNonQuery();
        }
        catch (Exception e)
        {
            throw e;
        }
        return rowNumber;
    }
}
这里我使用这个类:

    ...
    private DbHelper _db;

    public SqlEmployeeMapper()
    {
        _db = new DbHelper();
    }

    public int Create(Employee entity)
    {
        var conn = _db.Connect();

        string queryString = "insert into \"employees\" (first_name, last_name, email, phone_number, password, city, address, holiday, role_id, departmant_id)" +
            "values(@first_name, @last_name, @email, @phone_number, @password, @city, @address, @holiday, @role_id, @departmant_id);";


        SqlCommand command = new SqlCommand(queryString);
        PrepareCommand(command, entity);
        var id = _db.ExecuteNonQuery(command);

        _db.Close();

        return id;
    }
...
编辑:
我尝试在VS2015中打开服务器资源管理器并单击“添加连接”。。。我输入“(localdb)\MSSQLLocalDB”作为服务器名称,当我打开数据库下拉列表时,看不到我的数据库

您在使用Visual Studio吗?如果是这样,您能否在服务器资源管理器中创建一个成功进行身份验证的连接?

SQL Local Db的实例有一个名称和一个名为pipe的实例。使用4.0.2以下的.Net时,必须通过命名管道进行连接。从:

如果应用程序使用4.0.2之前的.NET版本,则必须直接连接到LocalDB的命名管道。实例管道名称值是LocalDB实例正在侦听的命名管道。每次启动LOCALDB实例时,LOCALDB#后面的实例管道名称部分都会更改。要使用SQL Server Management Studio连接到LocalDB实例,请在“连接到数据库引擎”对话框的“服务器名称”框中键入实例管道名称。从自定义程序中,您可以使用类似于SqlConnection conn=new SqlConnection(@“Server=np:\。\pipe\LocalDB\F365A78E\tsql\query)的连接字符串建立到LocalDB实例的连接

与名称不同,每次重新启动实例时,命名管道都会更改。查找当前命名管道的一种方法是通过命令行

SQLLocalDb i MSSQLLocalDb
如果实例已停止,则需要启动它。启动实例将生成命名管道。五分钟或更长时间没有连接将停止实例

SQLLocalDb s MSSQLLcoalDb
有关命令行的更多信息,请查看,同样取自MSDN


我不确定中的重大更改是否会消除通过命名管道进行连接的需要。

是否安装了SSM?如果是这样,你能通过它连接吗?听起来你需要为你的WIndows创建一个登录名account@destination-数据是SSMS工作fine@stuartd你是说:?是的,
CREATE LOGIN…FROM WINDOWS
但是如果您可以通过SSMS登录并查看数据库,您必须已经有访问权限。这不是问题的答案,应该是您的连接字符串使用的注释“(localdb)”,它使用localdb安装。如果安装了包含目标数据库的SQL Server 2016,则无法使用(localdb)找到它。看见假设您的SQL 2016实例名为MSSQLLocalDB,请尝试直接连接到它,而不使用(localdb)“其他信息:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL“我使用.net 4.5:/