超时时间已到…所有池连接都已被使用并已达到最大池大小”问题

原创 2007年09月15日 13:13:00

问题描述:超时时间已到。在从池中获取连接之前超时时间已过。出现这种情况可能是因为所有池连接都已被使用并已达到最大池大小。

问题分析:
问题的原因是与数据库的连接没有显示关闭,而等系统自动回收是要时间的.

解决方案:

1.在代码里面,把未关闭的连接关闭
2.扩大共享池,方法如下:
2.1修改连接池的连接生存期
因为默认值是60秒,即连接从应用程序被释放后可以在池中保存的时间。
  如果是ODBC的话
  
则可以在ODBC Data Source Administrator中手动更改,该程序位于“Start”菜单中的“Programs”->"Adminstrative Tools"(中文名:管理工具)下,或从"Control Panel"(中文名:控制面板)中打开“ODBC Data Source Administrator”(ODBC数据源管理器),再选择“Connection Pooling”(连接池)选项卡,双击驱动程序中的“SQL Server”,选择“Pool Connetions to this drive”(使用池连接该驱动程序),把下面的时间60秒改的大一点,例如120。
  如果是SqlConnection的共享连接
  
则为ConnectionString属性Connection Lifetime数值名称指定一个值,该值默认情况下是0,表示连接永远不会从池中被自动移走。如果指定一个不同的值,那么一旦连接被返回到池中,该值将和连接的创建时间及当前时间进行比较。如果生存期超过了Connection Lifetime的值,那么连接将从池中被移走。

2.2改变连接池的大小
在连接字符串的后面加上以下代码:Enlist=true;Pooling=true;Max Pool Size=300;Min Pool Size=0;Connection Lifetime=300;user id=sa;packet size=1000

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

超时时间已到,但是尚未从池中获取连接。数据库连接池已满
  • Bowen66888
  • Bowen66888
  • 2015年08月13日 14:20
  • 310

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

asp.net运行出理这样的错误:超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小原因可能是程序中有很多的连接打开了没有关闭, 尤其是循环打开关闭的...
  • dreamroad
  • dreamroad
  • 2007年01月19日 12:56
  • 1770

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

    超时时间已到,但是尚未从池中获取连接。    出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。  Description: An unhandled exceptio...
  • xiaosong2008
  • xiaosong2008
  • 2014年04月24日 09:28
  • 2164

超时时间已到。超时时间已到,但是尚未从池中获取连接。

超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。  解决办法 1.在代码里面,把未关闭的连接关闭 2.扩大共享池,方法...
  • minsenwu
  • minsenwu
  • 2017年02月16日 08:58
  • 1312

SQL SERVER 的用户数,连接,连接池 license

SQL SERVER 理论上有32767个逻辑连接,SQL SERVER根据系统自行调配连接池。 首先 ,操作系统的用户数:即同时通过网络连接到这台电脑上面的用户限制,以5用户操作系统,搭建的文...
  • pcent
  • pcent
  • 2016年08月04日 15:14
  • 1402

HttpClient4.X连接池使用及超时设置

首先,我自己的连接池是这样设置的,代码也是从网上转载自己修改的 public static synchronized HttpClient getHttpClient() {      ...
  • mypanlong
  • mypanlong
  • 2015年03月29日 21:23
  • 1054

java多线程设置超时时间

情景:多线程中个别线程执行时间会很长,如果线程执行时间超过某段时间,自动结束该线程 百度了很多答案之后大部分的解决办法都是利用Future类中的get(long timeout, TimeUnit u...
  • dj2442945707
  • dj2442945707
  • 2017年02月21日 19:32
  • 4226

Java 多线程设置线程超时时间之 Callable接口和Future接口

Callable接口和Future接口介绍         在Java中,如果需要设定代码执行的最长时间,即超时,可以用Java线程池ExecutorService类配合Future接口来实现。 ...
  • li12412414
  • li12412414
  • 2017年01月16日 20:08
  • 3714

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

超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。  解决办法 1.在代码里面,把未关闭的连接关闭 2.扩大共享池,方法如下: ...
  • Vezn_King
  • Vezn_King
  • 2016年07月01日 15:19
  • 246

配置连接池中空闲连接过期超时释放

有时候,客户的数据库不是独占的,可能几个系统共用。 优雅一点儿:把数据库允许连接数扩大到几个系统的连接数总和,再让每个系统把空闲的连接释放出来。   value="j...
  • qq_30553235
  • qq_30553235
  • 2017年05月11日 11:32
  • 810
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:超时时间已到…所有池连接都已被使用并已达到最大池大小”问题
举报原因:
原因补充:

(最多只允许输入30个字)