数据库出故障停止后,重新启动数据库,delphi开发的程序提示“连接错误”,不能继续运行。如何在程序里写代码,让ADOconnection在数据库停止服务又重启时,自动重新连接?
解决方案 »
- 关于不同版本编译出来的程序对照下执行效率差异,大家试过吗??
- Delphi7源码在 Delphi2010下面编译的问题?
- 请推荐学习VCL的好书
- 谁有已经注册的IMAGEENVIEW控件?请发一个给我,百分感谢!
- 簡單啟動窗體的問題
- 如何检测excel是否运行?如果已经运行,如何知道excel在任务栏是否可见?
- 求助DELPHI+SQL SERVER,关于增加记录的问题
- 用过ClientDataSet的朋友进来看看,在线等待,2个小时结贴,先给50分,问题解决再加50分!!!
- 存储过程的问题,进来瞅瞅吧。我对这个语法不太熟
- 请问,TTabel的事件捕获的原理?
- 各位高手,我在VC中定义了一个结构,通过消息发给Delphi,Delphi中也定义了一个结构接收,可是接收到字符串总是开头少1个字符,为什么???给分!
- 简单问题:关于Query中SQL语句涉及字段问题!请高手指点!!
ConnectData() 函数;
在ConnectData里判断是否断线了。使用的地方:
if ConnectData() then begin
try
AQ.Open;
except
ConnectData(True);
AQ.Open;
end;
end;
在ADOConnection1的AfterDisconnect事件里设置!!!!!
在ADOConnection1的AfterDisconnect事件里设置!!!!!
在ADOConnection1的AfterDisconnect事件里设置!!!!!
在ADOConnection1的AfterDisconnect事件里设置!!!!!
在ADOConnection1的AfterDisconnect事件里设置!!!!!
在ADOConnection1的AfterDisconnect事件里设置!!!!!
在ADOConnection1的AfterDisconnect事件里设置!!!!!
在ADOConnection1的AfterDisconnect事件里设置!!!!!
在ADOConnection1的AfterDisconnect事件里设置什么?又不是属性嘛。是不是写try...except...?
没有ConnectData()这个函数呀
做什么数据库程序都可以这样.
不需要定时检查什么的.
我的程序需要长时间无人值守地运行,要求数据库意外停止再自动重启后(这在服务器上已经设好),能自己重新连上数据库,如果不定时检查能行吗?在AfterDisconnect事件里尝试open?
事实上,我也是写长时间运行程序时候才注意这问题的,曾想过很多办法,
但最后还是发现答案如此单纯。
仅仅是
一,每个数据库处理抓住异常。
二,每个数据库异常处理时候将ado连接CLOSE掉。不必再打开它。
因为下次任何一个数据库操作会自动把它打开。
当出现这些情况后,马上重连多半是不成功。
在经常的轮循数据库的程序里面。。
为了避免空耗CPU或网络资源,
我多半在处理异常里面,
将AdoConnection Disconnect后,再加上一句Sleep