"Timeout expired"
连接超时,可能是你使用的”连接池“,连接数量太少。Solution:
增加连接池连接数量。

解决方案 »

  1.   

    请问michaelowenii 在哪里可以增加连接池呢? 我用的是IIS5.0,DB 为SQL Server 2000.
    谢过先
      

  2.   

    你每次打开页面都OPEN()了一次,但在最后没有CLOSE()就会这样的~
      

  3.   

    你说的是SqlClient.Connection对象?
    我已经用myConn.Close()关闭了,还缺了别的什么吗?如下:
    strConn = Session["strConn"].ToString();
    SqlConnection myConn=new SqlConnection(strConn);

    SqlCommand cmdSQL=new SqlCommand(); myConn.Open();
    cmdSQL.Connection=myConn;
    cmdSQL.CommandType=CommandType.StoredProcedure;
    cmdSQL.CommandText="selProject";
    cmdSQL.Parameters.Add("@intProjectID",SqlDbType.Int,4).Value = 0;
    cmdSQL.Parameters.Add("@vcProjectName",SqlDbType.VarChar,40).Value = "";
    SqlDataAdapter sdaProject = new SqlDataAdapter(cmdSQL);

    DataSet ds = new DataSet();
    sdaProject.Fill(ds,"project");
    DataView dv = new DataView(ds.Tables[0]);
    if (strSortString == null || strSortString == "")
    strSortString = "createdDate desc" ;
    dv.Sort = strSortString;
    dgProject.DataSource=dv;
    dgProject.DataBind();
    myConn.Close();
      

  4.   

    有可能是连接没有关闭造成连接池用完的情形在打开数据库的时候一般用
    strConn = Session["strConn"].ToString();
    SqlConnection myConn=new SqlConnection(strConn);

    SqlCommand cmdSQL=new SqlCommand();
             try
             {
    myConn.Open();
    cmdSQL.Connection=myConn;
    cmdSQL.CommandType=CommandType.StoredProcedure;
    cmdSQL.CommandText="selProject";
    cmdSQL.Parameters.Add("@intProjectID",SqlDbType.Int,4).Value = 0;
    cmdSQL.Parameters.Add("@vcProjectName",SqlDbType.VarChar,40).Value = "";
    SqlDataAdapter sdaProject = new SqlDataAdapter(cmdSQL);

    DataSet ds = new DataSet();
    sdaProject.Fill(ds,"project");
    DataView dv = new DataView(ds.Tables[0]);
    if (strSortString == null || strSortString == "")
    strSortString = "createdDate desc" ;
    dv.Sort = strSortString;
    dgProject.DataSource=dv;
    dgProject.DataBind();
             }
             finally
             {
      myConn.Close();
             }
        这样的话, 就可以避免在打开之后, 关闭之前有例外的话, myConn不能关闭
      

  5.   

    To bruce007:
    这个问题暂且可以排除,我按你的方法试了以后,调用该函数依然有DB级的Shared Lock,Process Status为Sleeping,来源于.net SqlClient Data Provider
      

  6.   

    To  bruce007:  
    这种可能暂且可以排除,我按你的方法试了以后,调用该函数依然有DB级的Shared  Lock,Process  Status为Sleeping,来源于.net  SqlClient  Data  Provider