delphi 中adoconnection连接断开后的自动重连接问题

delphi 中adoconnection连接断开后的自动重连接问题,第1张

一般如果你的项目里使用的是数据感知控件比如dbedit,dbmemo

如果断开了,那基本数据就没了!再连接也是刷新的

如果你用的只是edit memo那可以手动重新连接,此时是否刷新现有的控件里的数据是可控的。

如果不涉及数据的刷新,可以用TTIMER 频率不可设太高,检测下如果断了,就retry

mysql数据库创建后。默认的时区比东八区少了八个小时。如果sql语句中使用到mysql的时间的话就会比正常时间少了八个小时。所以需要修改mysql的系统时区。

set global time_zone = '+8:00';设置时区更改为东八区

flush privileges; 刷新权限

linux下打开/etc/mycnf,在属性组mysqld下面添加参数如下:

[mysqld]

interactive_timeout=28800000

wait_timeout=28800000

windows下打开myini,增加:

[mysqld]

interactive_timeout=28800000

wait_timeout=28800000

或者

修改如下JDBC连接的 URL:

jdbc:mysql://hostaddress:3306/schemanameautoReconnect=true

添加 autoReconnect=true 这个参数,即能解决这个问题。

首先如果你的是mysql的话。几乎所有的sql都有默认时间一般为28800大概都是8个小时,如果超出这个时间就会自动关闭。

SHOW GLOBAL VARIABLES LIKE 'wait_timeout'这句是查看sql的自动关闭时间、/秒为单位

如果是你的太小的话:SET GLOBAL wait_timeout=2880000;这句是更改大小288000可以随意设置。/秒为单位

如果不是那就是第二种情况

客户端去redis服务器拿连接(代码描述的是租用对象borrowObject)的时候,池中无可用连接,即池中所有连接被占用,且在等待时候设定的超时时间后还没拿到时,报出此异常。

2、解决办法:调整JedisPoolConfig中maxActive为适合自己系统的阀值。

<bean id="dataJedisPoolConfig" class="redisclientsjedisJedisPoolConfig">

[color=red]<property name="maxActive" value="5000"/>[/color]

<property name="maxIdle" value="5000"/>

<property name="maxWait" value="10000"/>

<property name="testOnBorrow" value="true"/>

</bean>

这个自己也可以配置:配置如下

#最大活动对象数

redispoolmaxTotal=1000

#最大能够保持idel状态的对象数

redispoolmaxIdle=100

#最小能够保持idel状态的对象数

redispoolminIdle=50

#当池内没有返回对象时,最大等待时间

redispoolmaxWaitMillis=10000

#当调用borrow Object方法时,是否进行有效性检查

redispooltestOnBorrow=true

#当调用return Object方法时,是否进行有效性检查

redispooltestOnReturn=true

#“空闲链接”检测线程,检测的周期,毫秒数。如果为负值,表示不运行“检测线程”。默认为-1

redispooltimeBetweenEvictionRunsMillis=30000

#向调用者输出“链接”对象时,是否检测它的空闲超时;

redispooltestWhileIdle=true

# 对于“空闲链接”检测线程而言,每次检测的链接资源的个数。默认为3

redispoolnumTestsPerEvictionRun=50

#表示一个对象至少停留在idle状态的最短时间,然后才能被idle object evitor扫描并驱逐;这一项只有在timeBetweenEvictionRunsMillis大于0时才有意义

MinEvictableIdleTimeMillis=60000

#redis服务器的IP

redisip=xxxxxx

#redis服务器的Port

redis1port=6379

以上就是关于delphi 中adoconnection连接断开后的自动重连接问题全部的内容,包括:delphi 中adoconnection连接断开后的自动重连接问题、查询页面展示时间比数据库少8个小时、如何解决mysql数据库8小时无连接自动关闭等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存