Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 作为SQL客户端服务器连接两个系统时出现连接错误_.net_Sql Server_Sql Server 2008_Networking_Client Server - Fatal编程技术网

.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 = "

我正在尝试从连接到局域网的远程系统访问数据库。我在谷歌搜索后做了以下设置,但没有任何帮助:

  • 配置的防火墙设置
  • 已配置的SQL Server配置管理器:请参见此处:
  • 在我的Windows服务中:设置为

    我的系统如下:

  • SYSTEM2
    -作为客户端工作
  • SYSTEM6
    -作为服务器工作
  • 现在我能做的是:

  • 我可以使用我的windows
    网络窗口从
    SYSTEM6
    访问
    SYSTEM2
    ,反之亦然
  • 我的客户机上有这段代码,它是在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的连接)

    连接字符串有问题吗?或者是否有任何相关设置需要更改

    EDIT1:

    我对命名管道有以下设置:

    您可以看到,
    命名管道
    被禁用,我在其中有一个值:
    \\.\pipe\MSSQL$SQLEXPRESS\sql\query

    EDIT2

    我为
    SQL本机客户端设置了此设置


    您是否在Sql Server配置管理器中启用了协议TCP?@Steve Yes
    TCP/IP
    共享内存
    都在这两个系统上启用。奇怪的是,它使用的是命名管道,在协议中,您应该将TCP放在命名管道之前order@Steve我刚刚做了一个
    EDIT1
    请仔细检查并提出建议。对客户机-服务器没有太多接触,对
    命名管道不太确定。现在仍在探索MSDN。请检查Sql原生客户端10.0配置中的协议顺序(也适用于32位),并将TCP/IP协议放在共享内存之后但命名管道之前的第二个位置