【问题标题】:SQL Server Connections - Why (local) doesn't work but localhost doesSQL Server 连接 - 为什么(本地)不起作用但 localhost 起作用
【发布时间】:2015-03-30 10:30:27
【问题描述】:

当前有一个应用程序试图连接到 (local) 作为 .NET 中的数据源。出于某种原因,(local) 不工作,但 localhost 工作。

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

任何想法为什么会这样?我知道(local) 是一个关键字,但它应该与localhost 完全一样,不是吗?

我已尝试从 SQL Server Management Studio 进行连接,我可以使用 localhost. 成功连接,但不能使用 (local)

【问题讨论】:

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


    【解决方案1】:

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

    在 SQLServer 中,'(local)' 和 '.'表示将在同一台机器内使用命名管道(共享内存)协议进行连接

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

    看起来不同版本的连接字符串会导致客户端和 sql-server 之间的通信协议不同。这会导致不同的行为。

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

    【讨论】:

      猜你喜欢
      • 2013-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 2014-01-26
      相关资源
      最近更新 更多