【发布时间】:2011-01-05 16:57:20
【问题描述】:
我使用 Delphi 2007 开发了一个 Windows 服务。它使用 TAdoConnection 和 TAdoQuery 通过 Internet 连接到远程 MySql 数据库。我为 CommandTimeout 属性保留了 30 秒的默认值。我还在每个新查询上创建连接/查询对象并在完成后释放它们(即我不在启动时创建数据库连接并保持打开状态)。
服务每隔一段时间就会停止,事件查看器会显示“在查询期间丢失与 MySQL 服务器的连接”。我将所有内容都包含在异常中。我的怀疑是查询执行时网络出现了下降。
有人有任何解决方案/想法吗?
什么触发窗口关闭服务?
另外,我将服务“Recovery”设置为重新启动服务,但这从未发生过。
我的下一步是在每个查询开始时开始记录,并将其与关闭的日期/时间进行比较。因为到目前为止我不知道这是如何记录的。
【问题讨论】:
-
您需要记录每个查询并添加一个全局异常处理程序,也包括日志记录。