provider:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接。

时间:2011-08-01 10:41:02

标签: sql-server named-pipes

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

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


连接到SQL Server 2005时建立与服务器的连接时发生错误,此错误可能是由于在默认设置下SQL Server不允许远程连接。 (provider:Named Pipes Provider,错误:40 - 无法打开与SQL Server的连接。)


此错误仅发生在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上使用另一个数据库并且运行正常。

1 个答案:

答案 0 :(得分:1)

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