以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  Connections.TryConnect当网络不稳定时这个会很慢  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87315)

--  作者:wanlong1215
--  发布时间:2016/7/8 9:08:00
--  Connections.TryConnect当网络不稳定时这个会很慢
rt 

我写了个定时计划,用这个函数Connections.TryConnect来检测网络是否畅通,发现当网络状况不好的时候这个函数非非常慢,甚至造成软件假死的状态,这个是什么原因,有办法解决么

--  作者:大红袍
--  发布时间:2016/7/8 10:01:00
--  

 1、先测试能否联网

 

http://www.foxtable.com/webhelp/scr/2709.htm

 

 2、可以用ADO,如果不联网,检测一次是至少10秒以上的。

 

try
    Dim conn As ADODB.Connection
    conn = New ADODB.Connection
    conn.ConnectionString = "Provider=SQLOLEDB.1;Password=hailun.;Persist Security Info=True;User ID=sa;Initial Catalog=test;Data Source=voyo"
    conn.Open
   
    msgbox("成功")
    conn.close
Catch ex As Exception
    msgbox("失败")
End try


--  作者:wanlong1215
--  发布时间:2016/7/8 10:19:00
--  
我想问下假死的情况是什么原因呢,假死后一般都是隔一会弹出一个  连接超时或者是一般性网络错误  的对话框

就拿ADO来说,是因为conn.Open 这个函数里面如果一次没打开,会调用自动重连么

--  作者:大红袍
--  发布时间:2016/7/8 10:33:00
--  

1、假死,说明连不上数据库了,弹出错误,就是网络的错误;

 

2、ADO只能测试,不能自动连上去。


--  作者:wanlong1215
--  发布时间:2016/7/8 11:08:00
--  
我再问个问题哈,foxtable里连接数据库这块是开的线程么,还是在主进程里跑
--  作者:大红袍
--  发布时间:2016/7/8 11:18:00
--  
 主线程。