数据库连接断开后如何自动重连?(100分)

  • 主题发起人 主题发起人 LJYY20000102
  • 开始时间 开始时间
L

LJYY20000102

Unregistered / Unconfirmed
GUEST, unregistred user!
我的数据库是sql数据库放在局域网其他计算机里,有时数据库连接会自动断开.如何让程序判断断开后实现自动重连
 
开个线程来扫描,发现断开就重连
 
加个INDY,做心跳检测就OK了
 
大家能写点源码吗?我是新手
 
大家来帮忙呀!
 
谁能解决我还可以给他加分
 
看样子这个问题很难呀!
 
在你做数据库操作时,先判断数据库是否已经连接上,如果是断开的,然后进行连接操作即可。
 
流浪天涯:这样说我也会问题怎么让程序判断断开后实现自动重连
 
要么定时到数据库查询一个数据,查询失败判断为连接断开,然后令Adoconnect断开,再令其重新连上
 
try<br>&nbsp; ...<br>except<br>&nbsp; if(not ADO.connected) then<br>&nbsp; &nbsp; ADO.connected:=true;<br>&nbsp; ...<br>end
 
再不行就放個timer 設置想要檢測斷開時間隔,然後判斷<br>with adoconnection do<br>&nbsp; begin<br>&nbsp; &nbsp; &nbsp; if not connected then connect;<br>&nbsp; end;
 
这样要不停的斷開影响计算的速度,有没有更好的办法
 
如果是TADOConnection的话,何不看看它的<br>AfterDisconnect,BeforeDisconnect,Disconnect...<br>事件
 
该我了吧[:D]:<br>一般程序如有个自定义的打开数据集的过程,打开失败时,你就补上<br>&nbsp; if(not ADO.connected) then<br>&nbsp; &nbsp; ADO.connected:=true;<br>当然也还可以设置,处理重新联接的次数和每次重试的间隔。
 
如果没有这个过程,就麻烦了,你就要搞个定时器之类的,每隔几秒,去查核一下,效率低下。
 
skywin:能留下你的qq吗?我想单独和你聊聊<br>我的 qq:71848720
 
如果使用数据感知控件,就比较麻烦了!
 
那怎么解决比较好呢?
 
后退
顶部