错误编号: 443555 (SQLBUDT)
症状
在基于 Microsoft Windows XP 的计算机或基于 Microsoft Windows 2000 的计算机上,使用命名管道协议连接到 Microsoft SQL Server 2005 或 Microsoft SQL Server 2000 的本地实例。在管道名称中使用"本地主机"时,无法连接到 SQL Server 实例。根据用于连接到 SQL Server 实例的工具,您会遇到以下问题之一:
-
如果使用 Osql.exe 命令行实用程序连接到 SQL Server 2000 的本地实例,则会收到以下错误消息:
[DBNETLIB]SQL Server 不存在或访问被拒绝。[DBNETLIB]连接打开(连接())。
-
如果使用 Sqlcmd.exe 命令行实用程序连接到 SQL Server 2005 的本地实例,则会收到以下错误消息:
HResult 0x34,级别 16,状态 1 命名管道提供程序:无法打开到 SQL Server 的连接 [52]。Sqlcmd:错误:微软 SQL 本机客户端:建立与服务器的连接时出错。连接到 SQL Server 2005 时,此故障可能是由于在默认设置下 SQL Server 不允许远程连接。Sqlcmd: 错误:微软 SQL 本机客户端:登录超时已过期。
备注在运行 Microsoft Windows Server 2003 或更高版本的 Windows 的计算机上不会出现此问题。
原因
出现此问题的原因是 Windows XP 和 Windows 2000 附带的 Microsoft 数据访问组件 (MDAC) 版本不支持在管道名称中使用"本地主机"。
解决方案
要解决此问题,请使用以下方法之一:
-
使用本地主机地址名称的替代表示形式,而不是"本地主机"。可能的替代表示形式包括:
-
127.0.0.1
-
"."
-
实际本地主机名
-
-
使用不同的连接协议,如 TCP/IP。
状态
此行为是设计使然。
更多信息
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 用于描述 Microsoft 软件更新的标准术语的说明