none
在从服务器接收结果时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 信号灯超时时间已到) RRS feed

  • 问题

  • 在从服务器接收结果时发生传输级错误问题:

    在从服务器接收结果时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 信号灯超时时间已到)
     

    C# WinForm代码如下:
    private void buttonEx4_Click(object sender, EventArgs e)
    {
      DateTime dtmBegin = DateTime.Now; 
      SqlConnection con = new
      SqlConnection("server=abc.gicp.net;database=MyDB;uid=sa;pwd=qf");
      con.Open();
      SqlCommand com = new SqlCommand("select * from inventory", con);
    // SqlCommand com = new SqlCommand("select top 1 * from inventory", con); //只读一条没问题
      com.CommandTimeout = 0;
      SqlDataAdapter sda = new SqlDataAdapter(com);
      DataSet ds = new DataSet();
      sda.Fill(ds);//打了下断点,执行到这里就出错了
      DataTable dt = new DataTable();
      dt = ds.Tables[0];
      gridViewEx2.DataSource = dt;
      con.Close();
      DateTime dtmEnd = DateTime.Now;
      MessageBox.Show((dtmEnd - dtmBegin).ToString());
    }

    说明:1.在不换电脑和网络环境的情况下, 数据总条数为2640条,只读1条或10条没问题;用别人用VB写的软件调取同样的数据虽然慢些,但总能正常调出全部2640条数据,但用C#调取数据时就出错,请朋友指点下.
      2.数据服务器上安装的是花生壳,开通了端口1433,Ping花生壳正常.
      3.用Sql Server查询分析器直接连接数据服务器上的数据库,并执行"select * from inventory"也能调出数据.
      4.数据库为SQL SERVER 2000,并已打SP4包

    补充: 我用花生壳解析到的服务器的IP地址(这个就是服务器的外网IP)组成连接字符串,也存在上述同样的问题.所以花生壳的问题可以排除.
      另外,同样用花生壳解析,并不是所有时侯不成功.单条记录成功率100%

     

    • 已移动 Jackie-Sun 2011年4月5日 1:47 (发件人:ADO.NET 与 LINQ)
    • 已移动 Sheng Jiang 蒋晟 2011年4月5日 16:04 SQL Server网络/服务器端问题 (发件人:一般性问题讨论区)
    2011年4月4日 9:33

全部回复