.net 作为SQL客户端服务器连接两个系统时出现连接错误
我正在尝试从连接到局域网的远程系统访问数据库。我在谷歌搜索后做了以下设置,但没有任何帮助:.net 作为SQL客户端服务器连接两个系统时出现连接错误,.net,sql-server,sql-server-2008,networking,client-server,.net,Sql Server,Sql Server 2008,Networking,Client Server,我正在尝试从连接到局域网的远程系统访问数据库。我在谷歌搜索后做了以下设置,但没有任何帮助: 配置的防火墙设置 已配置的SQL Server配置管理器:请参见此处: 在我的Windows服务中:设置为 我的系统如下: SYSTEM2-作为客户端工作 SYSTEM6-作为服务器工作 现在我能做的是: 我可以使用我的windows网络窗口从SYSTEM6访问SYSTEM2,反之亦然 我的客户机上有这段代码,它是在Visual Studio 2010中编程的 string conString = "
SYSTEM2
-作为客户端工作SYSTEM6
-作为服务器工作网络窗口从SYSTEM6
访问SYSTEM2
,反之亦然
string conString = "Data Source=SYSTEM6;User ID=sa;Password=mmpass;Initial Catalog=test;";
//So through above connection string what i am trying to do is
//Connecting SYSTEM2 (Which is my client system) to SYSTEM6 (Server system)
public SqlConnection con;
public SqlConnection openConnection()
{
try
{
con = new SqlConnection(conString);
if (con.State == ConnectionState.Open)
{
con.Close();
con.Open();
}
else
{
con.Open();
}
return con;
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message.ToString());
return null;
}
上述代码导致此错误:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40-无法打开到SQL Server的连接)
连接字符串有问题吗?或者是否有任何相关设置需要更改
EDIT1:
我对命名管道有以下设置:
您可以看到,命名管道
被禁用,我在其中有一个值:\\.\pipe\MSSQL$SQLEXPRESS\sql\query
EDIT2
我为SQL本机客户端设置了此设置
您是否在Sql Server配置管理器中启用了协议TCP?@Steve YesTCP/IP
和共享内存
都在这两个系统上启用。奇怪的是,它使用的是命名管道,在协议中,您应该将TCP放在命名管道之前order@Steve我刚刚做了一个EDIT1
请仔细检查并提出建议。对客户机-服务器没有太多接触,对命名管道不太确定。现在仍在探索MSDN。请检查Sql原生客户端10.0配置中的协议顺序(也适用于32位),并将TCP/IP协议放在共享内存之后但命名管道之前的第二个位置