大家知道,对于一个定位于server的程序,稳定性是很重要的,因为用户不太会操作他。
可是,如果server和数据库密切相关,而数据库是最容易发生问题的地方,如何保证server不会受到数据库的影响而依然潇洒自如呢?比如数据库暂时的中断,重启。server能否设计成自动智能处理。数据库断了就不工作,但一直尝试重连,一旦连好了在继续工作。在设计过程中我想问一个问题,就是数据库断了,AdoConnection如何知道?
在try except中如果捕获到对数据库的操作失败,并不能断定是数据库断了阿?
我的问题:
1.数据库比如oracle8重启,或者有故障,他会告诉前台一个正在和他保持连接的Adoconnection嘛?
2.前台捕获的各种数据库错误,如何归类,如何区分,adoconnection有没有提供错误码?
3.这个问题大家如何设计的?
谢谢。
可是,如果server和数据库密切相关,而数据库是最容易发生问题的地方,如何保证server不会受到数据库的影响而依然潇洒自如呢?比如数据库暂时的中断,重启。server能否设计成自动智能处理。数据库断了就不工作,但一直尝试重连,一旦连好了在继续工作。在设计过程中我想问一个问题,就是数据库断了,AdoConnection如何知道?
在try except中如果捕获到对数据库的操作失败,并不能断定是数据库断了阿?
我的问题:
1.数据库比如oracle8重启,或者有故障,他会告诉前台一个正在和他保持连接的Adoconnection嘛?
2.前台捕获的各种数据库错误,如何归类,如何区分,adoconnection有没有提供错误码?
3.这个问题大家如何设计的?
谢谢。
例如:
if stOpen in MyADOConnection.State then
MyADOConnection.Close();
前台此时如果不在对数据库操作,state还是open状态,如果操作了,那末必定出错,
但错误原因前台如何知道呢,不可能对于任何错误,前台都去重新连接,只有捕获到后台服务断了,网断了等错误时,再去连接。希望高明志士给出答案。
不能因为这一个地方影像其它的访问啊。
应该是网络断开,或数据库server连接不通情况下,再重连啊。
期待高明啊。!!!