但是尚未从池中获取连接_解决报错“超时时间已到。超时时间已到,但是尚未从池中获取连接”的方案...
超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。
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中的任一整数值
但是尚未从池中获取连接_解决报错“超时时间已到。超时时间已到,但是尚未从池中获取连接”的方案...相关推荐
- python pip下载本地依赖包,并在离线环境中安装,并解决报错ERROR: Could not find a version that satisfies the requirement报错
文章目录 步骤1:导出依赖 步骤2:离线下载依赖包 步骤3:进入新环境使用python安装依赖 整体思路如下: 首先根据项目需要导出依赖包,由于本地的python环境中其实安装了很多乱七八糟的包,这些 ...
- python字符串拼接数字_解决Python中字符串和数字拼接报错的方法
解决Python中字符串和数字拼接报错的方法 前言 众所周知Python不像JS或者PHP这种弱类型语言里在字符串连接时会自动转换类型,如果直接将字符串和数字拼接会直接报错. 如以下的代码: # co ...
- mysql报错乱码_连接mysql服务器报错时,出现乱码
页头用了 header('content-type:text/html;charset=utf-8'); try { $this->dbo=new PDO($dsn,$dbuser,$dbpas ...
- 连接mysql报错有乱码_连接mysql服务器报错时,出现乱码
页头用了 header('content-type:text/html;charset=utf-8'); try { $this->dbo=new PDO($dsn,$dbuser,$dbpas ...
- 【错误记录】PyCharm 中从 GitHub 中 Clone 代码到本地报错 ( OpenSSL SSL_read: Connection was reset, errno 10054 )
文章目录 一.报错信息 二.解决方案 一.报错信息 在 PyCharm 中从 GitHub 中 Clone 代码到本地报错 : 10:01:37.091: [C:\Users\octop\Pychar ...
- sqlyog for MySQL远程连接的时候报错mysql 1130的解决方法
通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法 今天在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到. 错误代码是1130,ERROR 1130: ...
- 【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 ...
- Navicat 用ssh通道连接时总是报错 (报错信息:SSH:expected key exchange group packet form serve...
转:https://blog.csdn.net/qq_27463323/article/details/76830731 之前下了一个Navicat 11.0 版本 用ssh通道连接时总是报错 (报错 ...
- 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 ...
最新文章
- HTTP协议和工作原理
- TCP/IP详解--第八章
- Linux挂载共享文件
- 图形驱动程序和显卡驱动什么区别_什么是核心显卡,核心显卡和集成显卡的区别...
- Spring MVC:表单处理卷。 1个
- 2G3G要退网了,但没必要着急换5G手机
- C#.Net工作笔记015---C#中Decimal类型四舍五入_小数点截位
- [导入]RSS商业应用和电子商务的结合
- 【SpringMVC学习11】SpringMVC中的拦截器
- php 压入元素,php 数组增加元素的方法 array_push 和 array_merge
- matlab 增量式,matlab增量式pid仿真
- 第二章,用矩阵解线性方程组,01-高斯消元法
- Udacity 无人驾驶仿真环境搭建实现自动驾驶小车
- Android腾讯广告联盟接入-----开屏广告
- DEMO-lidar原理介绍及数据集运行测试
- MySQL数据库-设置数据完整性
- catia锥齿轮cad三视图_catia直齿圆锥齿轮有限元分析
- STM32开发手册-IAP流程
- 使用CSS去除 去掉超链接的下划线方法
- 一道简单的Python面试题,却涵盖诸多考点,快来试试吧!
热门文章
- win7计算机个性化,win7系统没有个性化怎么回事_win7系统右键没有个性化如何处理-win7之家...
- 【附源码】计算机毕业设计JAVA医院预约挂号系统
- PowerPoint 2007中打字速度慢解决方法
- 公牛集团|落地采购商城,吃第一只SaaS螃蟹
- VIICMS仿乐享微信源码2014最新版
- 天正lisp文件夹_如何在AutoCAD中从Windows资源管理器中打开图形文件夹位置
- 2014届华为成都校园招聘机试题
- 查看端口号是否被占用以及如何解除端口号占用命令
- 构建自有快递 亚马逊扩大兼职司机送货比例
- java purge_浅析InnoDB purge线程