以文本方式查看主题 - 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=179911) |
-- 作者:benben325 -- 发布时间:2022/9/17 10:01:00 -- 关于Connections.TryConnect这个问题! 一旦数据源连不上,这个检测连接要花好久,一直处于卡死状态。。。其实一般3秒都没连上 基本上就连不上了,有什么方法可以快速判断连接状态? 或者3秒没连上 我直接判断为连接失败! |
-- 作者:z769036165 -- 发布时间:2022/9/17 10:03:00 -- http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=62475 参考这个吧
|
-- 作者:benben325 -- 发布时间:2022/9/17 10:37:00 -- 这个帖子我看过,我只需要判断数据源是否连接,因此引用了如下代码: Dim str As String = "Provider=SQLOLEDB.1;Password=" & r("密码") & ";Persist Security Info=True;User ID=" & r("用户名") & ";Initial Catalog=master;Data Source=" & r("服务器") Dim mess As String = "数据源连接成功!" Try Dim conn As ADODB.Connection conn = New ADODB.Connection conn.ConnectionString = str conn.Open conn.close Catch ex As Exception mess = "SQL数据库" & Err.Description End Try MessageBox.Show(mess) 可是这部分代码发现时间仍然需要很久! |
-- 作者:有点蓝 -- 发布时间:2022/9/17 10:42:00 -- conn = New ADODB.Connection conn.ConnectionTimeout=3
|
-- 作者:benben325 -- 发布时间:2022/9/17 10:47:00 -- 老师,不行额。 Dim str As String = "Provider=SQLOLEDB.1;Password=" & r("密码") & ";Persist Security Info=True;User ID=" & r("用户名") & ";Initial Catalog=master;Data Source=" & r("服务器") Dim mess As String = "数据源连接成功!" Try Dim conn As ADODB.Connection conn = New ADODB.Connection conn.ConnectionTimeout=3 conn.ConnectionString = str conn.Open conn.close Catch ex As Exception mess = "SQL数据库" & Err.Description End Try MessageBox.Show(mess) 改成这样仍旧花了一分钟左右 |
-- 作者:有点蓝 -- 发布时间:2022/9/17 11:34:00 -- ip可以访问的情况下,ConnectionTimeout才有效。先判断IP是否可用,2楼的贴估计也没有怎么仔细看 If Network.Ping("192.192.192.192", 1) Then Dim str As String = "Password=888;Persist Security Info=True;User ID=sa;Initial Catalog=abc;Data Source=192.192.192.192;Connection Timeout=1" Dim mess As String = "数据源连接成功!" Try Dim conn As New system.Data.SqlClient.SqlConnection conn.ConnectionString = str conn.Open conn.close Catch ex As Exception mess = "SQL数据库" & Err.Description End Try MessageBox.Show(mess) Else Messagebox.Show("该服务器不可用") End If |