sql-server - 如何在 Visual Studio 中创建与 SQL Server 的连接?获取 SqlException : Login failed for user

标签 sql-server visual-studio asp.net-core-mvc

我是 ASP.NET 新手,我正在尝试实现 ASP.NET Core MVC 项目。

我尝试创建数据库连接,但当项目尝试使用选项访问数据库时出现错误:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\MSSQLLocalDB;Database=DevShop;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
}

结果我得到了错误

Cannot open database “DevShop” requested by the login. The login failed. Login failed for user 'DESKTOP-4S2H73J\Valeryi'

我在那里找到了解决方案:Cannot open database "test" requested by the login. The login failed. Login failed for user 'xyz\ASPNET'

并将连接字符串更改为:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\MSSQLLocalDB;Database=DevShop;User ID=DESKTOP-4S2H73J;pwd=top$secret"
  }
}

在这种情况下,我收到错误:

SqlException: A connection was successfully established with the server, but then an error occurred during the login process

然后我再次修改了字符串:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\MSSQLLocalDB;Database=DevShop;User ID=DESKTOP-4S2H73J;pwd=top$secret;Trusted_Connection=True"
  }
}

现在我收到错误

SqlException: Cannot open database "DevShop" requested by the login. The login failed. Login failed for user 'DESKTOP-4S2H73J\Valeryi'.

我完全困惑了......

  • 如何在 Visual Studio 中正确创建与 SQL Server 的连接?
  • 对于 ASP.NET Core MVC,我可以使用 MySql 服务器而不是 SQL Server 吗?

最佳答案

让我们澄清一下这部分,不知何故你无法访问数据库引擎。

SQL Server支持两种身份验证模式:

  • Windows 身份验证
  • SQL Server 身份验证

首先,您尝试使用 Windows 身份验证,然后使用 SQL Server 身份验证。

在连接字符串中 Trusted_Connection=TrueIntegrated Security=true 表示连接将使用 Windows 身份验证。因此,如果有这两个参数之一,则无需指定用户和密码。

要检查您的服务器名称,请通过 SQL Server Management Studio 连接到 SQL 引擎,然后执行以下查询:

SELECT @@SERVERNAME

结果,我得到了 DESKTOP-29GJ2IJ 因为这是本地计算机,并且没有命名实例,例如 DESKTOP-29GJ2IJ\MSSQLSERVER2017 我可以使用name localhost 在连接字符串中,但让我们使用查询结果中的值。

一旦我知道服务器的确切名称,我就可以编写连接字符串:

Server=DESKTOP-29GJ2IJ;Database=DevShop;Trusted_Connection=True;

连接字符串的有用页面是 https://www.connectionstrings.com/sql-server/

您可以连接到其他数据库,因此它不仅仅与MSSQL Server有关。

关于sql-server - 如何在 Visual Studio 中创建与 SQL Server 的连接?获取 SqlException : Login failed for user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65313736/

相关文章:

sql-server - 为什么 SQL Server 2008 对本地主机的查询比远程服务器慢得多?

sql - 对于自动增量字段 : MAX(ID) vs TOP 1 ID ORDER BY ID DESC

c - 变量取一定值时的断点

c# - 在 Razor 中调用部分 View

c# - 在多个项目中使用 Asp.Net Core 2 注入(inject) Serilog

sql - 存储过程按优先级返回基于可为空列的数据

sql-server - 如何捕获从链接服务器返回的错误消息?

android - visual studio 2015,android 命令 'run-as' 失败

asp.net-core - 在ASP.net Core中使用BeginCollectionItem

c# - 重定向到区域总是给出 404 或错误的重定向