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

我在delphi使用了adoconnection组件来连接外部的sqlserver数据库服务器。在连接成功后的一段时间内,可能由于网络的不稳定等问题,使得ado与数据库的... 我在delphi 使用了adoconnection组件来连接外部的sqlserver数据库服务器。在连接成功后的一段时间内,可能由于网络的不稳定等问题,使得ado与数据库的连接掉线了。怎样自动的重新连接回去。应该怎样设置!!谢谢!!
这种会断开的现象基本在使用win7系统的个别用户电脑上出现,,登录系统几个小时之后再操作就会显示“无法连接数据库”
我使用的是Delphi7、sql Server2005
展开
 我来答
众口说车
推荐于2016-08-13 · TA获得超过2323个赞
知道大有可为答主
回答量:3503
采纳率:50%
帮助的人:1508万
展开全部
一般如果你的项目里使用的是数据感知控件比如dbedit,dbmemo
如果断开了,那基本数据就没了!再连接也是刷新的
如果你用的只是edit memo那可以手动重新连接,此时是否刷新现有的控件里的数据是可控的。
如果不涉及数据的刷新,可以用TTIMER 频率不可设太高,检测下如果断了,就retry
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
人间杂货店
2018-08-09 · 数据只告诉我们事实,知识才能告诉我们真实
人间杂货店
采纳数:1319 获赞数:4312

向TA提问 私信TA
展开全部
做一个时钟或者线程,定时检测和SQL的连接情况。如果连接不正常,则重新连接就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhl_529
2018-08-20 · TA获得超过151个赞
知道小有建树答主
回答量:387
采纳率:72%
帮助的人:96.6万
展开全部
1、查一下SQL Server2005是否有连接超时时间,mysql数据库默认是8小时,如果8小时内没有数据库操作,网络连接就会断开,查一下你用的数据库是否也有类似这样的参数;

2、客户端和数据库是在一个局域网内吗?照目前的技术来讲,网络不稳定的因素很小,从代码入手,看看是不是每次都创建连接而不关闭,可以去数据库中查连接数;
3、最主要的,你需要把连接不上的具体错误内容贴出来,而不是自己抛出的“无法连接数据库”,具体问题具体分析。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
灰灰舒儿
2018-10-07
知道答主
回答量:37
采纳率:50%
帮助的人:8.3万
展开全部
一般我都加一个timer然后定时检测连接状况,如果成功就不搭理它,如果失败就停掉服务,服务器这边再起个timer检测连接状况,成功后再起服务和第一个timer
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
腾讯电脑管家
2018-09-20 · 百度知道官方认证企业
腾讯电脑管家
腾讯电脑管家是腾讯公司推出的免费安全管理软件,能有效预防和解决计算机上常见的安全风险,并帮助用户解决各种电脑“疑难杂症”、优化系统和网络环境,是中国综合能力最强、最稳定的安全软件。
向TA提问
展开全部
一般如果你的项目里使用的是数据感知控件比如dbedit,dbmemo
如果断开了,那基本数据就没了!再连接也是刷新的
如果你用的只是edit memo那可以手动重新连接,此时是否刷新现有的控件里的数据是可控的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式