我正在尝试从连接在局域网中的远程系统访问数据库。谷歌搜索后我做了以下设置,但没有任何帮助:
- 已配置的防火墙设置
- 已配置的 SQL Server 配置管理器:请参见此处:
在我的 Windows 服务中:设置是
我的系统如下:
SYSTEM2
- 作为客户工作SYSTEM6
- 作为服务器工作
现在我能做的是:
- 我可以使用我的 Windows访问
SYSTEM2
,反之亦然。SYSTEM6
Network Window
我在我的客户端机器上有这个代码,它被编程在Visual Studio 2010
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 的连接)
连接字符串有问题吗?或者我需要更改任何相关设置。
编辑1:
我有命名管道的这些设置:
你可以看到它named Pipes
被禁用,我有这个值:\\.\pipe\MSSQL$SQLEXPRESS\sql\query
编辑2
我有这个设置SQL Native client