2013-03-26 51 views
0

我有C#编写一个.NET应用程序中我使用这些字符串来连接命名管道在Windows Server错误40 2003

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" /> 

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

“Named Pipes Provider, error: 40 - Could not open a connection to SQL Server”

本地服务器是域控制器,我用这个字符串局域网:

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

所有形式的工作,但是当我打电话给任何报告无法连接,我用的是相同的字符串的应用的.config。我已经在其他Server 2003(不是域控制器)中测试过相同的应用程序,并且报告有效,有任何写域的字符串的方法,以及如何解决这个问题的任何想法?

我检查SQL浏览器是否联机,协议:共享内存/命名管道/ TCPIP已安装并正常工作。我认为是域名的东西。

+0

看起来您没有传入Sql Server将侦听的端口号尝试在您的连接字符串中放入ipAddress:1433或IpAddress,1433。[故障排除错误40 ](http://blogs.msdn.com/b/sql_protocols/archive/2005/10/22/483684.aspx) [第2部分故障拍摄错误40](http://blogs.msdn.com/sql_protocols/档案/ 2005/10/29/486861.aspx) – MethodMan 2013-03-26 19:28:03

+0

我知道这是旧的,但对任何其他人阅读此请勿连接从应用程序作为sa!永远。如果他们试图强迫你这样做,请放弃你的工作。如果这是镇上唯一的工作,改变职业或离开。永远永远永远不要这样做。我是认真的。决不... – ongle 2015-01-28 23:48:09

回答

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" 

它的更多钞票保存应用不止一个字符串。 config,享受