当前位置: 代码迷 >> VFP >> 通过odbc,怎么判断网络连接一断开
  详细解决方案

通过odbc,怎么判断网络连接一断开

热度:9240   发布时间:2013-02-26 00:00:00.0
通过odbc,如何判断网络连接一断开
通过odbc连接,向后台发送一条sql语句,失败了.我想知道错误的原因是不是由于网络断开了.通过aerror(laerroy)函数得到错误信息,可我不能确认到底是以哪个值来判断,我试了不同的数据库,得到一系列的值laerror(4),laerror(5).请问有没有较权威的文档说明,判断错误信息返回值就能知道是否是网络连接断开了。

------解决方案--------------------------------------------------------
还是上次那个问题吧。

其实谁也不知道是什么原因失败了,就像QQ登录不成功,出来一些报告,可能是这个,可能那个,等等,QQ也不敢主死就是网络断开了。

所以你要发布产品中,建议这样:

可能是以下几种原因:
1、....
2、....
3、....
------解决方案--------------------------------------------------------
用10054可以判断与数据库的连接肯定是断开了。


查了MSDN上的10054错误号说明:WSAECONNRESET (10054)

Connection reset by peer.

A existing connection was forcibly closed by the remote host. This normally results if the peer application on the remote host is suddenly stopped, the host is rebooted, or the remote host used a "hard close " (see setsockopt for more information on the SO_LINGER option on the remote socket.)

也就是说,一个连接被对方重设。一个建立的连接被远程主机强行关闭,若远程主机上的进程异常终止运行(由于内存冲突或硬件故障),或者针对套接字执行了一次强行关闭,便会产生10054错误。针对强行关闭的情况,可用SO_LINGER套接字选项和setsockopt来配置一个套接字。

  相关解决方案