当前位置:编程学习 > C#/ASP.NET >>

超时时间已到。超时时间已到 但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用 并且达到了最大池大小。 的问题

我使用的是mssql2005+ 微软企业库  +  三层结构 

我链接数据库用的下面的代码


 public xxx_tbl_DAL()              
        {
            db = DatabaseFactory.CreateDatabase("conn");
        }

 public long Add(Model.xxx_tbl_MD model, DbTransaction tran)
        {
            DbCommand dbCommand = db.GetStoredProcCommand("xxx_tbl_ADD");
            db.AddOutParameter(dbCommand, "ID", DbType.Int64, 8);
            .....................

            if (tran == null)
            {
                db.ExecuteNonQuery(dbCommand);
            }
            else
            {
                db.ExecuteNonQuery(dbCommand, tran);
            }
            return (long)db.GetParameterValue(dbCommand, "ID");
        }


现在偶尔会出现
超时时间已到。超时时间已到 但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用 并且达到了最大池大小。



要怎么修正?
--------------------编程问答-------------------- 数据库连接没关闭
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/ --------------------编程问答-------------------- 如果你用了sqlhelper类,那么所有的datareader都需要手动显示关闭。
如果你思路不清晰,那就干脆别用datareader.

如果所有的连接都是自己写的,那还是先要显式关闭所有datareader并且要关闭connection。 --------------------编程问答-------------------- 我用的是微软企业看, 仿照petshop 方式写的

请问要怎么关闭datareader和connection --------------------编程问答-------------------- Close()方法就可以
--------------------编程问答-------------------- 检查了下 所有的datareader都是用

   using (IDataReader dataReader = db.ExecuteReader(dbCommand))
            {
                if (dataReader.Read())
                {
                    model = ReaderBind(dataReader);
                }
            }

调用的 ,不存在没有关闭的问题 --------------------编程问答--------------------
引用 楼主 ayun00 的回复:
现在偶尔会出现
超时时间已到。超时时间已到 但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用 并且达到了最大池大小。



 要怎么修正?


你目前还谈不上修正。

在你“修正”之前,你应该先学会重现bug。当你能够保证同样的测试方法可以有80%以上的概率(甚至是几乎100%的概率)可以重现bug的时候,你才应该考虑修正的问题。如果你贴不出来具体的问题,丢一些代码出来让别人“乱猜”,你说“怎么修正”? --------------------编程问答-------------------- 你现在先不要考虑如何“求代码”,先自己找出能够重现bug的方法吧。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,