繁体   English   中英

本地数据库失败并在VS2017中崩溃

[英]Local Database fails and crashes in VS2017

我正在尝试在C#应用程序中设置本地数据库(基于服务的数据库)。 当我最初将数据库添加到项目中时,可以在VS和SSMS中看到它并编辑表,但是当我尝试以编程方式连接到该数据库时,出现此错误:

"Cannot open database \"[DataDirectory]DATABASE.MDF\" requested by the login. The login failed.\r\nLogin failed for user 'DESKTOP-MM6AR72\\majbom'."

之后,VS和SSMS都不再使用该数据库。 我是这样连接的:

using(SqlConnection conn = new SqlConnection("Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=[DataDirectory]DATABASE.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"))
{
    using(SqlCommand cmd = new SqlCommand(SQL, conn))
    {
        cmd.Connection.Open();
    }
}

我从未尝试过以这种方式使用数据库,所以也许我做错了什么。 我要完成的工作是一种在我的应用程序中临时存储大量AF数据并使其可搜索和可编辑的方法。

编辑:我遵循了本指南: https : //docs.microsoft.com/zh-cn/visualstudio/data-tools/create-a-sql-database-by-using-a-designer

提前致谢

如果将Integrated Security设置为true,则系统将尝试使用当前的Windows凭据登录数据库。 如果您没有明确授予数据库中当前用户的权限,则此方法将无效。

如果将Integrated Security设置为false或完全没有Integrated Security选项,则需要提供用户名和密码。

     Data Source=.\SQLEXPRESS;Database=Database1.mdf;User Id=myUsername;
     Password=myPassword;

您声明不使用用户名或密码的说法没有任何意义。 您必须在数据库上具有用户名和密码。

1个用户没有db_owner权限。 看到

http://blog.sqlauthority.com/2009/08/20/sql-server-fix-error-cannot-open-database-requested-by-the-login-the-login-failed-login-failed-for-用户NT授权网络服务/

2-也许您未指定正确的连接字符串:

http://connectionstrings.com/sql-server-2005

3-您最近安装了SQL Server,并且未将SQL Server配置为使用SQL Server身份验证。 实际上,您只能使用集成的Windows安全性。

http://www.codekicks.com/2008/11/cannot-open-database-northwind.html希望对您有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM