none
How do we know an ADODB Connection is OK or broken? RRS feed

  • 问题

  • 你好!

    在使用ADODB成功建立与数据库服务器的连接后,如何知道该连接仍然有效,或者是已经断开(比如因为网络原因,服务器停机或异常等)。

    我希望在客户端能被及时通知到与服务器的连接是正常还是已经断开,以便进行相应的操作(重新连接或者提示信息等)。即使我使用了ADO Event Handler,好像也不能被通知到 Disconnect 事件。测试下来的情况是,只有在显示调用 ADO Connection对象的Close() 方法后,Disconnect 事件才会产生。

    如果与服务器的连接已经断开,只有在再次执行 相关的操作才能知道 :错误信息显示“连接失败”。难道必须在判断错误信息 后才能知道连接已断开吗?有没有更好的方法能在连接已断开时能尽快知道?

    谢谢!

    Kevin

    2013年11月17日 16:21

答案

  • >>难道必须在判断错误信息 后才能知道连接已断开吗?

    是的,因为这个连接的相关事件是由服务端发送到客户端的,如果连接断了,服务端就不能将断了得消息发送给客户端,所以用事件也是没有效果的。

    如果你是担心数据库连接不稳定的话,可以写一个重新连接的逻辑, 关于这个逻辑,你可以看下这篇文章。

    http://blogs.msdn.com/b/bartr/archive/2010/06/18/sql-azure-connection-retry.aspx


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2013年11月18日 7:58
    版主