【发布时间】:2014-12-14 12:57:36
【问题描述】:
我正在构建一个从 sql 服务器检索数据的应用程序。 规范是要在一台或多台机器上运行的应用程序,但是这些机器与托管 sql server 的机器位于同一个 LAN 中。 5 天前,我遇到了这样一种情况,即如果由于某种原因,运行该应用程序的任何一台计算机或托管 sql server 的计算机的网络电缆被拔掉,会发生什么情况。我意识到应用程序被冻结,然后 Delpi-7 产生错误消息。最终,应用程序以不友好的方式终止。
我试图通过 ADO1 控件的“connection:= false”或通过应用程序在断开连接时检索的表事件找到处理此事件的方法,但不幸的是我失败了。
所以我问是否有办法检测 LAN 网线或与 sql 服务器的连接何时松动,以便向用户显示一条消息以检查他的连接 - 在最坏的情况下 -以更友好的方式结束应用程序(例如使用“application.terminate”命令)。
提前谢谢你
【问题讨论】:
-
TCP 的好处是,如果您再次插入电缆,连接将会恢复。
-
见(与Datasnap相关):stackoverflow.com/a/556096/80901
标签: sql-server delphi tcp delphi-7