我正试图为我的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
我在Windows 11上也收到了同样的错误信息。我删除了转义的反斜杠,它工作了。
代替:
"Server=(localdb)\mssqllocaldb;Database=PROJECT_NAME_HERE;Trusted_Connection=True;MultipleActiveResultSets=true"
:
"Server=(localdb)mssqllocaldb;Database=PROJECT_NAME_HERE;Trusted_Connection=True;MultipleActiveResultSets=true"
很高兴知道这是否真的是Windows 11的问题,但我目前不想深入研究。
您可能需要重新创建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"
有关LocalDB实例的更多信息,请参阅此MSDN页面。你也可以在这个MSDN页面上阅读更多关于localdb如何工作的信息
经过越来越多的谷歌搜索和研究,我发现有人在Reddit上有一个非常相似的问题,通过事件查看器有相同的错误信息。我们的共同点是Windows 11,我们都已经用尽了所有的选择。
我认为这可能是因为我使用的是Windows 11,但我认为这种可能性很小。我想是的。我的道歉!
Tl;dr:假设Windows 11不能正常工作与SQL安装。