回 帖 发 新 帖 刷新版面

主题:多层数据库编程 如何防止网络线断开 引起客户端程序出错

我开发的一个数据库实时查询系统,使用的多层数据库结构模型,bcb的MIDAS编写,应用程序服务器和数据库服务器用同一台计算机,客户端部分画面采用sql语句向应用程序服务器直接查询。现在的问题是:
1 网络正常时,客户端程序运行正常;
2 网络线断开后程序不停弹出RPC错误。
3 为此,我在程序代码的timer事件中加入try{} catch(...) {Abort}。
4 这样处理以后,网络线断开后,程序毫无反应,窗体按钮按下都无反应,再将网络线连接上时,客户端提示GENERALSQL ERROR错误,窗体按钮按下有反应,但无法恢复数据实时通讯。

防止出错语句究竟写在客户端的data module中,还是写在服务器端的remote data module中,如何写?
敬请不吝赐教,衷心感谢。
email:gaoms@hbepc.com.cn,gms111@sina.com

回复列表 (共2个回复)

沙发

为什么要abort,为什么要加在timer里面
这种结构非常占资源
网络断开后应该有一个socket消息,截获之然后处理就可以了

板凳


我使用的连接控件是DCOMCONNECTION,并非socketCONNECTION.程序采用的是C/S模式。怎么截获socket 消息?

我来回复

您尚未登录,请登录后再回复。点此登录或注册