Windows Server 2003中命名管道错误40

时间:2013-03-26 19:15:18

标签: c# sql sql-server visual-studio-2010 tsql

我在C#中编写了一个.Net应用程序我使用这些字符串连接

str = "Data Source=200.1xx.2yy.1zz ;Initial Catalog =minofom;uid =sa;pwd = abuelita";

和app.config的相同字符串:

<add name="MiniFinan.Properties.Settings.MiniFimConnectionString"
  connectionString="Data Source=200.1xx.2yy.1zz ;Initial Catalog =minofom;uid=sa;pwd = abuelita" providerName="System.Data.SqlClient" />

所有表单都打开正常,当我离开本地网络时,应用程序和报告工作正常,但是当我在服务器或本地网络的任何计算机上安装应用程序时,应用程序会向我显示此错误:

  

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

本地服务器是域控制器,我将此字符串用于局域网:

str="Data Source=192.168.2.254 ;Initial Catalog =MinoFom;uid =sa;pwd = abuelita"

所有表单都有效,但是当我调用任何报告时没有连接时,我对app.config使用相同的字符串。我已经在其他Server 2003(而不是域控制器)中测试了相同的应用程序并且报告有效,有什么方法可以为域编写字符串,是否知道如何解决此问题?

我已经检查过SQL Browser是否在线,协议:共享内存/命名管道/ TCPIP已安装并正常工作。我认为是域名。

1 个答案:

答案 0 :(得分:0)

我已经解决了使用两个字符串的形式:

str = @"Data Source=TORRE ;Initial Catalog =minofom;uid =sa;pwd = abuelita";

以及报告的app.config中的其他内容:

 connectionString="Data Source=MyDomain\TORRE;Initial Catalog=MinoFom;uid =sa;pwd = abuelita"

它可以在app.config中保存多个字符串,享受