SQL Server连接 - 为什么(本地)不起作用,但localhost不起作用

时间:2015-03-30 10:30:28

标签: c# sql sql-server database-connection connection-string

目前有一个应用程序尝试连接到(local)作为.NET中的数据源。出于某种原因(local)无效,但localhost正在运作。

我没有使用命名实例,直接将(local)替换为localhost会导致应用程序成功连接。

为什么会出现这种情况?我了解(local)是一个关键字,但它应该与localhost完全相同吗?

我已经尝试过SQL Server Management Studio的连接,我可以使用localhost.但不是(local)成功连接。

1 个答案:

答案 0 :(得分:0)

  

“(local)”可能只是'localhost'的别名。

在SQLServer中,'(local)'和'。'意味着将使用同一台机器中的命名管道(共享内存)协议进行连接

Localhost是查找服务器的IP地址。 所有通信都通过TCP在地址127.0.0.1上进行 本地是特​​定于SQL Server的。通信不会使用TCP,而是使用命名管道。

因为它看起来不同版本的connectionstring会导致客户端和sql-server之间的通信协议不同。这会导致不同的行为。

尝试重新安装并确保在安装过程中选择“默认实例”而不是“命名实例”。