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

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

解决方法1:

1 修改几个关键页面或访问比较频繁的数据库访问操作,使用DataAdapter和DataSet来获取数据库数据,不要使用DataReader。

2 在访问数据库的页面上使用数据缓存,如果页面的数据不是经常更新(几分钟更新一次)的话,使用Cache对象可以不用访问数据库而使用缓存中的内容,那么可以大大减少连接数量。

3 修改代码,把使用Connection对象的地方都在Close()后面调用Dispose()或者实例化对象时使用using关键字进行自动释放。

4 建议对数据库操作进行大的修改,建立自己的数据库操作代理类,继承System.IDisposable接口,强迫释放资源,这样就不会出现连接数量不够的问题了。

解决方法2:

改变连接池的大小.在连接字符串的后面加上以下代码:

Enlist=true;Pooling=true;Max Pool Size=300;Min Pool Size=0;Connection Lifetime=300;user id=sa;packet size=1000

packet size参数取512到32767中的任一整数值

但是尚未从池中获取连接_解决报错“超时时间已到。超时时间已到,但是尚未从池中获取连接”的方案...相关推荐

  1. python pip下载本地依赖包,并在离线环境中安装,并解决报错ERROR: Could not find a version that satisfies the requirement报错

    文章目录 步骤1:导出依赖 步骤2:离线下载依赖包 步骤3:进入新环境使用python安装依赖 整体思路如下: 首先根据项目需要导出依赖包,由于本地的python环境中其实安装了很多乱七八糟的包,这些 ...

  2. python字符串拼接数字_解决Python中字符串和数字拼接报错的方法

    解决Python中字符串和数字拼接报错的方法 前言 众所周知Python不像JS或者PHP这种弱类型语言里在字符串连接时会自动转换类型,如果直接将字符串和数字拼接会直接报错. 如以下的代码: # co ...

  3. mysql报错乱码_连接mysql服务器报错时,出现乱码

    页头用了 header('content-type:text/html;charset=utf-8'); try { $this->dbo=new PDO($dsn,$dbuser,$dbpas ...

  4. 连接mysql报错有乱码_连接mysql服务器报错时,出现乱码

    页头用了 header('content-type:text/html;charset=utf-8'); try { $this->dbo=new PDO($dsn,$dbuser,$dbpas ...

  5. 【错误记录】PyCharm 中从 GitHub 中 Clone 代码到本地报错 ( OpenSSL SSL_read: Connection was reset, errno 10054 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 PyCharm 中从 GitHub 中 Clone 代码到本地报错 : 10:01:37.091: [C:\Users\octop\Pychar ...

  6. sqlyog for MySQL远程连接的时候报错mysql 1130的解决方法

    通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法 今天在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到. 错误代码是1130,ERROR 1130: ...

  7. 【MySQL】MySQL 8 IDEA连接本地MySQL报错 Host DESKTOP-MISSMJIJ is not allowed to connect to this serv

    1.背景 在window10 下开发,MySQL 8 IDEA连接本地MySQL报错 MySQL 8 Host DESKTOP-MISSMJIJ is not allowed to connect t ...

  8. Navicat 用ssh通道连接时总是报错 (报错信息:SSH:expected key exchange group packet form serve...

    转:https://blog.csdn.net/qq_27463323/article/details/76830731 之前下了一个Navicat 11.0 版本 用ssh通道连接时总是报错 (报错 ...

  9. Django连接MySQL8.0报错django.db.utils.OperationalError: (1045, “Access denied for user ‘16066‘@‘localhos

    Django连接MySQL8.0报错 django.db.utils.OperationalError: (1045, "Access denied for user '16066'@'lo ...

最新文章

  1. HTTP协议和工作原理
  2. TCP/IP详解--第八章
  3. Linux挂载共享文件
  4. 图形驱动程序和显卡驱动什么区别_什么是核心显卡,核心显卡和集成显卡的区别...
  5. Spring MVC:表单处理卷。 1个
  6. 2G3G要退网了,但没必要着急换5G手机
  7. C#.Net工作笔记015---C#中Decimal类型四舍五入_小数点截位
  8. [导入]RSS商业应用和电子商务的结合
  9. 【SpringMVC学习11】SpringMVC中的拦截器
  10. php 压入元素,php 数组增加元素的方法 array_push 和 array_merge
  11. matlab 增量式,matlab增量式pid仿真
  12. 第二章,用矩阵解线性方程组,01-高斯消元法
  13. Udacity 无人驾驶仿真环境搭建实现自动驾驶小车
  14. Android腾讯广告联盟接入-----开屏广告
  15. DEMO-lidar原理介绍及数据集运行测试
  16. MySQL数据库-设置数据完整性
  17. catia锥齿轮cad三视图_catia直齿圆锥齿轮有限元分析
  18. STM32开发手册-IAP流程
  19. 使用CSS去除 去掉超链接的下划线方法
  20. 一道简单的Python面试题,却涵盖诸多考点,快来试试吧!

热门文章

  1. win7计算机个性化,win7系统没有个性化怎么回事_win7系统右键没有个性化如何处理-win7之家...
  2. 【附源码】计算机毕业设计JAVA医院预约挂号系统
  3. PowerPoint 2007中打字速度慢解决方法
  4. 公牛集团|落地采购商城,吃第一只SaaS螃蟹
  5. VIICMS仿乐享微信源码2014最新版
  6. 天正lisp文件夹_如何在AutoCAD中从Windows资源管理器中打开图形文件夹位置
  7. 2014届华为成都校园招聘机试题
  8. 查看端口号是否被占用以及如何解除端口号占用命令
  9. 构建自有快递 亚马逊扩大兼职司机送货比例
  10. java purge_浅析InnoDB purge线程