【发布时间】:2015-02-10 09:11:29
【问题描述】:
我无法从 C# 连接到特定的 SQL Server 2008 数据库服务器。
我能够使用 SSMS 进行连接,并使用 SQLCMD 运行查询,但是当我尝试使用 SqlConnection 从 C# 进行连接时,它无法打开与 SqlException 的连接:
在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)
这是我的代码:
using (SqlConnection conn = new SqlConnection(@"Server=LDNPSM050000137\PLN000000014T;Initial Catalog=MiscData;Integrated Security=True;"))
{
//exception occurs on this line
conn.Open();
//use connection
conn.Close();
}
我使用 ODBC 得到了类似的响应:
string connectionString = @"Driver={SQL Server Native Client 10.0};Server=LDNPSM050000137\PLN000000014T;Database=MiscData;Trusted_Connection=yes;";
using (OdbcConnection connection = new OdbcConnection(connectionString))
{
connection.Open();
}
这会因 OdbcExcpetion 失败:
错误 [08001] [Microsoft][SQL Server Native Client 10.0]SQL Server 网络接口:查找指定的服务器/实例时出错 [xFFFFFFFF]。
ERROR [HYT00] [Microsoft][SQL Server Native Client 10.0]登录超时过期
错误 [08001] [Microsoft][SQL Server Native Client 10.0]在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。
我检查了服务器和实例名称是否正确,并且服务器配置为允许远程连接,因为我可以通过 SSMS 进行连接。有没有人对问题可能是什么或如何解决这个问题提出建议?
更新:
如果这有助于某人诊断问题 - 这是特定于我的机器/用户帐户的。我的同事可以从他的机器上很好地运行代码。我还可以使用对Server 和Initial Catalog 进行适当更改的连接字符串连接到我的本地实例。
所有远程数据库服务器都出现此错误。
【问题讨论】:
-
你检查过SQL服务是否在运行吗,你显示的第一个错误通常意味着它没有运行。
-
我想这与
LDNPSM050000137\PLN000000014T有关。这甚至是一个有效的计算机名称吗?如果您打开命令提示符并执行nslookup LDNPSM050000137\PLN000000014T,您会得到什么? -
您没有指定数据库名称
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
C# 代码是否在您与 SSMS 成功连接的同一台机器上运行?
标签: c# sql-server-2008