提供者命名管道提供程序错误40 - 无法打开到sql server 2008的连接

时间:2013-05-04 10:18:09

标签: sql-server-2008 visual-studio-2008 sql-server-express

SQL Server名称:ECARE432
实例名称:SQLEXPRESS

app.config包含:

<connectionStrings>
   <add name="TimeTracker.Properties.Settings.myecareConnectionString"  
        connectionString="Data Source=ECARE432;Initial Catalog=myecare;Persist Security Info=True;User ID=sa;Password=ecare123@" 
        providerName="System.Data.SqlClient"/>
</connectionStrings>

我用VS 2008开发了我的第一个WPF(C#)应用程序。 SQL Server 2008.它在我的系统上运行正常。部署后,它不适用于其他系统。

它显示以下错误消息。

  

提供者命名管道提供程序错误40 - 无法打开与sql server 2008的连接

我已经通过Google并完成了以下步骤,但没有用。

  1. 配置工具 - &gt; SQL Server配置管理器 - &gt; SQL Native Client配置别名 - &gt;别名 - &gt; ECARE432,1433,端口号 - &gt; 1433,协议 - &gt; TCP / IP,服务器名称 - &gt; ECARE432
  2. 启用TCP / IP。协议 - &gt; TCP / IP属性 - &gt; IP1 - &gt;活动 - 是启用 - 是,IP地址 - 我的系统IP地址,TCP动态端口 - 空白,TCP端口 - 1433
    • IP2 - &gt;活动 - 是,已启用 - 是,IP地址 - 127.0.0.1,TCP动态端口 - 空白,TCP端口 - 1433
    • IPALL - &gt; TCP动态端口 - 空白,TCP端口 - 1433
  3. SQL Server Browser正在运行。
  4. 服务器名称正确无误。没有拼写错误。
  5. 客户端计算机可以ping我的计算机。 (PING ECARE432正在运作)
  6. TCP 1433和UDP 1434异常添加到防火墙。还关闭了我的系统和客户端系统中的防火墙。
  7. sqlbrowser.exe已添加到防火墙例外列表中。
  8. 允许在SQL Server属性中的“连接”下启用“远程连接”。
  9. Visual Studio - &gt;工具 - &gt;选项 - &gt;数据库工具 - &gt;数据连接 - &gt;将“SQL Server实例名称”从sqlexpress更改为空白。
  10. 请指导我如何解决此问题。

1 个答案:

答案 0 :(得分:2)

如果您有SQL Server名称:ECARE432和实例名称:SQLEXPRESS - 那么您需要在连接字符串中使用ECASE432\SQLEXPRESS作为Data Source=的值:

<connectionStrings>
   <add name="TimeTracker.Properties.Settings.myecareConnectionString"  
        connectionString="Data Source=ECARE432\SQLEXPRESS;Initial Catalog=myecare;Persist Security Info=True;User ID=sa;Password=ecare123@" 
        providerName="System.Data.SqlClient"/>
</connectionStrings>

沿着同样的路线 - 如果您的实例真的被称为SQLEXPRESS - 那你为什么要这样做?

  

Visual Studio - &gt;工具 - &gt;选项 - &gt;数据库工具 - &gt;数据连接 - &gt;将“SQL Server实例名称”从sqlexpress更改为空白。

毫无意义。如果实例 实际上是SQLEXPRESS - 就这样吧!