mysql数据库连接池溢出的原因

mysql数据库连接池溢出的原因,第1张

mysql数据库连接池溢出的原因最近用了公司某框架,部署到现场后,现场运维开始维护现场数据,在不断 *** 作的过程中,系统崩溃,查看后台日志,druid连接池已经获取不到连接。于是开始了排查之旅。在此记录。

排查开始

首先后台的报错是这样的。

原系统在SQLSERVER数据库下无任何问题,转换成ACCESS数据库后, *** 作其中一个表Client,这个表有3W多条记录,语句如下:

public DataSet getClient(string SearchStr)

{

try

{

string SqlStr="Select from Client where ClientName like '%"+SearchStr+"%'";

OleDbDataAdapter OleDbCommand=new OleDbDataAdapter(SqlStr,Conn());

DataSet TempData=new DataSet();

OleDbCommandFill(TempData,"Client");

return TempData;

}

catch(Exception ex)

{

throw ex;

}

}

在Access中用菜单“工具-选项”,并在“高级”标签中设置:

默认打开方式:共享

默认记录锁定:不锁定

不仅你的机器要这么设置,还要求所有可以打开这个文件的人的机器都这么设置,当前被用户写入的记录肯定是在锁定状态,如果你这次写入不成功,等一会再写入,也许你刚才写时别人也正在写

数据库中记录的保存方式有一种是顺序文件组织。即数据库中的记录按顺序保存在文件中,就会方便查询和修改。但是进行插入和删除就比较麻烦,需要移动很多数据。 为了减少移动,就在每个记录的后面添加上一条指针,指向下一条记录的位置。 对于插入 *** 作,如果这条记录所在的块儿中有位置,就可以插进去。 否则,就需要将新记录插入到一个新的块儿中,这个新块儿,就叫做溢出块。

以上就是关于mysql数据库连接池溢出的原因全部的内容,包括:mysql数据库连接池溢出的原因、关于ACCESS数据库插入或更新数据的溢出问题、access在多人共享 *** 作时总是出现被锁现象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9647850.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存