以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]计划管理里添加数据源问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=48933)

--  作者:bobolan521
--  发布时间:2014/4/9 8:58:00
--  [求助]计划管理里添加数据源问题

我在计划管理里添加了以下代码,设置为5秒执行一次,当网络正常的时候,5秒钟完全能执行完一次了,但如果没有网络程序的执行时间就会需要10-15秒才能判断出数据源连不上,可不可以快速的判断数据源能否连上,比如说2秒内连不上,就默认不连接了。

 

Dim xinxj As String = "Provider=SQLOLEDB;Password=1UmeLz2Qy4KX;Persist Security Info=True;User ID=OpenMas8020005;Initial Catalog=OpenMas;Data Source=111.1.2.106,1433\\SQLEXPRESS"


\'\'\'取接收表第一条内容

If Forms("处理数据").Opened = False Then
    If Connections.Contains("xinxj") = True    \'\'\'\'存在XINXJ数据源
        connections.Delete("xinxj")                 \'\'\'\'\'\'\'\'删除数据源
       MessageBox.Show("删除成功")
    End If
   
    If Connections.TryConnect(xinxj) = False Then      \'\'\'\'\'\'并且数据源无法链接
        MessageBox.Show("数据源无法连通!")     (“无网络时这段代码如何快速的执行”)
    Else
        Connections.Add("xinxj",xinxj)
       MessageBox.Show("添加成功")

        Dim cmd As New SQLCommand
        Dim dt As DataTable
        cmd.C
        cmd.CommandText = "select top 1 * from Com_SmsIn_db8020005"
        dt = cmd.ExecuteReader()
        \'\'\'取接收表第一条内容
        If dt.DataRows.Count =1 Then
            Forms("处理数据").open
        End If
    End If
End If


--  作者:Bin
--  发布时间:2014/4/9 9:02:00
--  
不行呢,如果只是PING服务器地址,倒是可以快速一点,参考这里


--  作者:bobolan521
--  发布时间:2014/4/9 9:10:00
--  
老师我上面的这段代码,在哪些情况下,会不会出现执行不下去的情况,因为这个数据库在外网,是不允许PING的
[此贴子已经被作者于2014-4-9 9:10:32编辑过]

--  作者:Bin
--  发布时间:2014/4/9 9:13:00
--  
不允许PING那没办法
--  作者:有点甜
--  发布时间:2014/4/9 11:26:00
--  

 试试这样?

 

http://www.foxtable.com/help/topics/2709.htm