无法连接到 SQL 服务器中的本地地址

Can not connect to local address in SQL Server

无法使用此连接字符串创建 SQL 连接:

<connectionStrings>
    <add name="SchoolContext" 
         connectionString="Server=.;Database=SchoolContext;Integrated Security=True;"
         providerName="System.Data.SqlClient" />
</connectionStrings>

我收到这个错误:

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: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

但是这个连接字符串没有问题:

<connectionStrings>
    <add name="SchoolContext" 
         connectionString="Server=DESKTOP-7M2F9E2\MOJTABA;Database=SchoolContext;Integrated Security=True;"
         providerName="System.Data.SqlClient" />
</connectionStrings>

为什么无法连接到local

这很可能是因为您正在尝试连接到名为 MOJTABA 的命名实例,而不是连接到默认实例,如您发布的代码 connectionString="Server=DESKTOP-7M2F9E2\MOJTABA 所示。您也可以说 Server=localhost\MOJTABA.\MOJTABA

我会试试这个:

<connectionStrings>
    <add name="SchoolContext" providerName="System.Data.SqlClient" connectionString="Server=.\MOJTABA;Database=SchoolContext;Integrated Security=True;"/>
</connectionStrings>

Server=.\MOJTABA表示:本地机器(.),MOJTABA数据库服务器实例。 仅凭点不足以知道要连接到哪个实例。

这不是 C# 问题,所以它的标记是错误的。网络代码不关心另一端是否在同一台计算机、同一台交换机或 Voyager 2 Probe 上。

SQL 服务器的正确安装和管理与编程完全不同。

最后,连接字符串是如此复杂,因此有一个 dedicated webpage

这可能是 SQL 服务器管理问题(您尝试连接的实例不允许 exists/is 不允许建立连接)或连接字符串问题(您的格式错误)。如果不知道你的环境到底是什么样子,真的是不可能分辨的,这是只有你才能真正做到的事情。