提供者:命名管道提供者,错误:40 – 无法打开与 SQL 服务器的连接。

Posted

技术标签:

【中文标题】提供者:命名管道提供者,错误:40 – 无法打开与 SQL 服务器的连接。【英文标题】:provider: Named Pipes Provider, error: 40 – could not open a connection to SQL server. 【发布时间】:2011-08-01 10:41:02 【问题描述】:

我开发了一个依赖于 sql server 数据库的 .net 应用程序,该数据库位于用于开发应用程序的本地计算机上。

当我将数据库移动到远程机器并更改连接字符串时,出现以下错误:


连接SQL server 2005时建立与服务器的连接时出错,此故障可能是由于默认设置下SQL server不允许远程连接造成的。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL 服务器的连接。)


此错误仅在 XP 机器上发生,但在 Win 上运行正常。 7台具有相同连接字符串的机器:

connectionString="Data Source=ot;Initial Catalog=sp_warehouse;User ID=fu;Password=bar"

我尝试了以下方法来解决问题: - 从服务器禁用命名管道服务。 - 在服务器防火墙中为 SQL Server 端口 1433 添加了一个例外 - 完全禁用服务器上的防火墙 - 在连接字符串中添加此参数:Network Library=DBMSSOCN;Persist Security Info=True

每次我尝试某些东西时,我都会得到相同的结果,那就是胜利。 7 台机器工作正常,但 XP 机器不行。

注意:有另一个应用程序在 XP 机器上工作,它使用同一 SQL Server 上的另一个数据库,并且工作正常。

【问题讨论】:

看看blogs.msdn.com/b/sql_protocols/archive/2007/03/31/… @Ehab - 你解决了吗? 【参考方案1】:

确保 SQL 浏览器已启用并在您的远程计算机上运行。您可能希望启用命名管道。

【讨论】:

以上是关于提供者:命名管道提供者,错误:40 – 无法打开与 SQL 服务器的连接。的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 错误“命名管道提供程序:无法打开与 SQL Server [53] 的连接”

命名管道提供程序无法打开与 SQL Server 1231 的连接

解决PHP5.4.7 连接 MsSQL Server 2012时出现命名管道提供程序: 无法打开与 SQL Server 的连接

[08001] [Microsoft] [SQL Server Native Client 11.0] 命名管道提供程序:无法打开与SQL Server的连接

无法与SQL Server建立连接

SQL--Navicat Premium 连接其他电脑出错命名管道提供程序;无法打开与SQL Server的连接[1326].(1326)