无法从 ASP.NET Core 连接到 LocalDB
Unable to connect to LocalDB from ASP.NET Core
我正在尝试为我的 ASP.NET 核心 Web 应用程序设置数据库。不幸的是,每次我尝试 运行 dotnet ef Database Update
,我都会得到这个错误:
Error Number:-1983577829,State:0,Class:20
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SNI_PN11, error: 50 - Local Database Runtime err
or occurred. Specified LocalDB instance name is invalid.)
能想到的都试过了,重装了很多次。我安装了 Visual Studio 2019 和 LocalDB,2022 和 LocalDB,LocalDB 本身,SQLExpress 和 LocalDB,但都没有用。我什至重置了我的电脑,不幸的是,它仍然没有任何改变。
这是我的连接字符串:
"DefaultConnection": "Server=(localdb)\mssqllocaldb;Database=PROJECT_NAME_HERE;Trusted_Connection=True;MultipleActiveResultSets=true"
我正在使用连接字符串:
services.AddDbContext<ApplicationDbContext>(options =>
{
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
});
我应该提到这个连接字符串在过去有效。
任何帮助,将不胜感激!谢谢 :D
您可能需要重新创建 LocalDB 实例。当我尝试卸载并重新安装 localdb 和 sql server express 时,我曾经遇到过类似的问题。
您可以在 PowerShell 中尝试运行以下命令
SqlLocalDB.exe create "MsSQLLocalDB" 12.0 -s
这应该创建一个名为“MSSQLLocalDB”的 localdb 实例。然后您可以使用连接字符串 "Server=(localdb)\MSSQLLocalDB;Database=PROJECT_NAME_HERE;Trusted_Connection=True;MultipleActiveResultSets=true"
见This MSDN page for more information regarding LocalDB Instances. You could also read more about how localdb works on this MSDN page
经过越来越多的谷歌搜索和研究,我在 Reddit 上发现有人遇到了非常相似的问题,通过事件查看器显示相同的错误消息。我们之间的共同点是Windows11,我们都用尽了所有的选择。
我认为这可能是因为我在 Windows 11,但我认为这种可能性很小。我想是的。抱歉!
Tl;dr:假设 Windows 11 在 SQL 安装中无法正常工作。
我正在尝试为我的 ASP.NET 核心 Web 应用程序设置数据库。不幸的是,每次我尝试 运行 dotnet ef Database Update
,我都会得到这个错误:
Error Number:-1983577829,State:0,Class:20
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SNI_PN11, error: 50 - Local Database Runtime err
or occurred. Specified LocalDB instance name is invalid.)
能想到的都试过了,重装了很多次。我安装了 Visual Studio 2019 和 LocalDB,2022 和 LocalDB,LocalDB 本身,SQLExpress 和 LocalDB,但都没有用。我什至重置了我的电脑,不幸的是,它仍然没有任何改变。
这是我的连接字符串:
"DefaultConnection": "Server=(localdb)\mssqllocaldb;Database=PROJECT_NAME_HERE;Trusted_Connection=True;MultipleActiveResultSets=true"
我正在使用连接字符串:
services.AddDbContext<ApplicationDbContext>(options =>
{
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
});
我应该提到这个连接字符串在过去有效。 任何帮助,将不胜感激!谢谢 :D
您可能需要重新创建 LocalDB 实例。当我尝试卸载并重新安装 localdb 和 sql server express 时,我曾经遇到过类似的问题。
您可以在 PowerShell 中尝试运行以下命令
SqlLocalDB.exe create "MsSQLLocalDB" 12.0 -s
这应该创建一个名为“MSSQLLocalDB”的 localdb 实例。然后您可以使用连接字符串 "Server=(localdb)\MSSQLLocalDB;Database=PROJECT_NAME_HERE;Trusted_Connection=True;MultipleActiveResultSets=true"
见This MSDN page for more information regarding LocalDB Instances. You could also read more about how localdb works on this MSDN page
经过越来越多的谷歌搜索和研究,我在 Reddit 上发现有人遇到了非常相似的问题,通过事件查看器显示相同的错误消息。我们之间的共同点是Windows11,我们都用尽了所有的选择。
我认为这可能是因为我在 Windows 11,但我认为这种可能性很小。我想是的。抱歉!
Tl;dr:假设 Windows 11 在 SQL 安装中无法正常工作。