Database 检查数据库连接是否仍处于活动状态

Database 检查数据库连接是否仍处于活动状态,database,delphi,firebird,zeos,Database,Delphi,Firebird,Zeos,我正在用Delphi7和ZeosLib 6.6.5开发一个Windows后台服务 该服务将全天候运行,并与远程服务器上的Firebird数据库(版本2.1)交互,因此我需要检查该服务是否仍然能够与其通信 最好的方法是什么?在对数据库执行任何操作之前,是否使用TZConnection中的Ping或PingServer功能 祝您有愉快的一天。使用ZConnection.ping来测试您的连接,如果丢失,您必须使用ZConnection.reconnect来保持会话活动(我在许多项目中使用相同的方法)

我正在用Delphi7和ZeosLib 6.6.5开发一个Windows后台服务

该服务将全天候运行,并与远程服务器上的Firebird数据库(版本2.1)交互,因此我需要检查该服务是否仍然能够与其通信

最好的方法是什么?在对数据库执行任何操作之前,是否使用TZConnection中的Ping或PingServer功能


祝您有愉快的一天。

使用ZConnection.ping来测试您的连接,如果丢失,您必须使用ZConnection.reconnect来保持会话活动(我在许多项目中使用相同的方法)

1)您测试连接是否仍然有效(不知何故),2)您的网络连接断开,服务器消失,任何其他事情都可能发生,3)您的函数返回“是,连接仍然有效”,4)无论运行什么,检查都会继续进行,现在仍然失败。既然您需要编写代码,为什么不跳过1-3,只编写处理(4)的代码呢?完成后断开连接,再次需要数据库时重新连接。处理数据库错误。这确保了连接没有超时等,处理正常的数据库错误将使其更加健壮。