Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.

问题描述
超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

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

这是个老问题了!你就查两点:
一、看所有open的连接是否都close了。
二、如果访问量很大,加上Max   Pool   Size=512这一句,当然这是要以损失系统性能为代价的!
这样以后一定可以解决你的问题!

解决方案一

我 想原因可能是并发操作。DataReader是独占连接的,就是说你的程序可能设计上有问题。比如说最大连接设100,假设有100个人同时使用 DataReader正在读取数据库内容,那么当第101人读取的时候,连接池中的连接已经没有了,就会出现上面的错误。DataReader是独占连接 的,每个DataReader都要占用一个连接。当然这个情况是偶尔出现的,所以会很长时间出现一次,因为只有同时有超过连接池最大连接数量的并发操作才 会发生。而且你加大并发数量只能暂时缓解问题,如果你加大到200个并发连接,如果有201 人同时操作怎么办?你说了你使用Connection对象的Close()方法,这是不行的,因为Close()方法仅仅是关闭连接,但这个连接没有释 放,还是被这个对象占用,要释放必须使用Connection的Dispose()方法显式释放连接才可以,否则这个对象占用的连接只能等到垃圾收集的情 况下才能被释放。这种情况肯定会出现“超时时间已到”的错误。

解决方法:
         1 修改几个关键页面或访问比较频繁的数据库访问操作,使用DataAdapter和DataSet来获取数据库数据,不要使用DataReader。
         2 在访问数据库的页面上使用数据缓存,如果页面的数据不是经常更新(几分钟更新一次)的话,使用Cache对象可以不用访问数据库而使用缓存中的内容,那么可以大大减少连接数量。
         3 修改代码,把使用Connection对象的地方都在Close()后面加上Dispose()调用。
         4 建议对数据库操作进行大的修改,建立自己的数据库操作代理类,继承System.IDisposable接口,强迫释放资源,这样就不会出现连接数量不够的问题了。
         5SqlCommand myCommand = new SqlCommand(myInsertQuery);
          myCommand.Connection.Close();
          myCommand.Dispose();

解决方案二

解决方法(*):WEB.config 里面:在数据库连接加 Max Pool Size = 512;server=local;uid=;pwd=;database=2004;Max Pool Size = 512;">一劳永逸。

解决方案三

估计是连接(Connection)对象没有Close。倒是不必Dispose,而DataReader用完后应该关闭,但不关闭也没问题,只是不关闭的话此连接对象就一直不能用,只要你最终关闭了连接对象就不会出问题。  
   
   连接对象在Open后的操作都放在try块中,后面跟一个finally块:conn.Close();

最终一句话就是每次使用后都得关闭和释放资源!

Timeout expired相关推荐

  1. 连接池和 Timeout expired异常

    转自:博客园宁静.致远:http://www.cnblogs.com/zhangzhu/archive/2013/10/10/3361197.html 异常信息: MySql.Data.MySqlCl ...

  2. MySql 长时间读数据发生超时的异常 Mysql Reader Exception TimeOut expired

    mysql connector: .net var r = cmd.ExecuteReader() r.Reader()   // <--长时间不停调用 Timeout expired.  Th ...

  3. oracle之 RA-00054: resource busy and acquire with NOWAIT specified or timeout expired

    1. truncate 表报 ORA-00054 ,标明有事务正在操作该表 SQL> truncate table alldm.DM_XQKD_YUJING_D; truncate table ...

  4. 【Flink】Flink exactly-once 报错 Timeout expired after 60000 milliseconds while awaiting InitProducerId

    文章目录 1.概述 2.源码分析 1.概述 flink 开启了exactly-once,设置了transaction.id 然后flink一直不停重启,一直报错 org.apache.kafka.co ...

  5. 【Kafka】Flink kafka TimeoutException Timeout expired while fetching topic metadata

    1.背景 一个服务突然不能工作了,数据有输入但是没有数据,好看数据输入进去就丢了,但是正常情况下,应该是最起码正确和错误都应该输出. 下面开始查看日志 docker exec -it xxxx bas ...

  6. 连接池和 Timeout expired异常【转】

    异常信息: MySql.Data.MySqlClient.MySqlException (0x80004005): error connecting: Timeout expired. The tim ...

  7. ConnectionRead (WrapperRead())Timeout expired

    ConnectionRead (WrapperRead())Timeout expired ■环境说明: 数据库系统:Microsoft Server 2000 (Sp4) 操作系统:Microsof ...

  8. 【Oracle】ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

    今天在修改表字段类型时出现错误:ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired,看报错应该是 ...

  9. [译]连接池和 Timeout expired异常

    原文标题:Connection Pooling and the "Timeout expired" exception FAQ 来源:http://blogs.msdn.com/a ...

  10. pyvisa.errors.VisaIOError: VI_ERROR_TMO (-1073807339): Timeout expired before operation completed

    在使用python的pyvisa库函数通过visa指令控制仪器时,出现'pyvisa.errors.VisaIOError: VI_ERROR_TMO (-1073807339): Timeout e ...

最新文章

  1. void *指针的加减运算
  2. 网页调用本地播放器的代码支持ie,chroome, 火狐不支持
  3. silverlight中递归构造无限级树treeview+checkbox
  4. java读取 info.plist源码_Java 解析 IPA 文件,读取 Info.plist 信息-Go语言中文社区
  5. Freemarker商品页面静态化
  6. 中切片工具怎么使用_PS软件中钢笔工具的使用,附视频
  7. Entity Framework Core 2.1带来更好的SQL语句生成方案
  8. JS中split对多个分隔符的处理
  9. MySQL如何有效的存储IP地址
  10. OpenVINO安装步骤
  11. linux dev input使用消失_Linux驱动04 | 启动分析之根文件系统
  12. 最小生成树之普里姆算法
  13. POJ3348 Cows
  14. 二层交换机和三层交换机的工作原理
  15. 西部世界IPFS科普:什么是非对称加密?
  16. Excel2007将汉字转换为拼音首字母
  17. Basics Algorithms| 岭回归(Ridge regression)
  18. 理解F.dropout 和nn.ReLU(inplace=True)中inplace的作用
  19. hx711c语言程序,STM32写的HX711程序
  20. win12服务器文件设置只读,高手亲自讲解win10文件夹只读属性改不了的修复办法...

热门文章

  1. 我搭建了一个网站,请问怎么给网站备案?网站备案的流程怎么操作?
  2. 安卓系统改服务器地址,安卓修改定位服务器地址
  3. 江城子 乙卯正月二十日夜记梦
  4. 关系型数据库非关系型数据库概述
  5. jsonpath提取王者全英雄名字
  6. 網頁設計(繁體工具軟件)
  7. JAVA私活神器_程序猿私活神器 (转)
  8. 数据结构----折半查找的查找效率以及折半查找成功与失败的ASL
  9. python贪吃蛇代码课程设计_c语言课程设计之贪吃蛇代码及思路 c语言课程设计报告之贪吃蛇...
  10. 通俗理解大数定律、中心极限定理