Foxtable(狐表)用户栏目专家坐堂 → 这样的判断是不是很慢?


  共有2603人关注过本帖树形打印复制链接

主题:这样的判断是不是很慢?

帅哥哟,离线,有人找我吗?
blackzhu
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
这样的判断是不是很慢?  发帖心情 Post By:2019/3/1 17:25:00 [只看该作者]

If e.Name = "服务器" Then
    If Connections.TryConnect("Provider=SQLOLEDB.1;Password=xxxx;Persist Security Info=True;User ID=SH;Initial Catalog=XJHIS;Data Source=xxxxx") = False Then
        e.C   C
    ElseIf Connections.TryConnect("Provider=SQLOLEDB.1;Password=*xxxx;Persist Security Info=True;User ID=sa;Initial Catalog=His;Data Source=xxxx") = False Then
        e.C   tifont-family: Verdana; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal;">    End If
End If


在这个BeforeConnectOuterDataSource 事件中
[此贴子已经被作者于2019/3/1 17:26:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/1 17:27:00 [只看该作者]

先ping你的ip地址,看能否连通

 

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

 

然后再测试链接数据库。连接数据库,如果无法连接,一般要几十秒才能返回错误的


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/3/1 19:14:00 [只看该作者]

因为一些特殊的原因,我们的数据源需要变来变去.

我现在是这样的做法,我先将数据源定在一个内部的服务器的链接上,然后通过这个BeforeConnectOuterDataSource 事件判断修改:

'If e.Name = "服务器" Then
'If TryConnectHost("192.168.19.3") = False OrElse Network.Ping("192.168.19.3") = False Then
'e.C
'ElseIf TryConnectHost("192.168.1.3") = False OrElse Network.Ping("192.168.1.3") = False Then
'e.C
'End If
'End If

在我的机器上IP自动获取,是在192.168.19.3的网段内 我打开是正常,但是我放到云端直接打开就一直链接不上.而且速度不是很快.

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/1 20:53:00 [只看该作者]

看看是不是这个问题:http://www.foxtable.com/webhelp/scr/2730.htm

云端其它网络应用慢不慢,云端放的是数据库还是Foxtable项目?

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/3/1 22:28:00 [只看该作者]

不是这个问题

If e.Name = "服务器" Then
            If Network.Ping("192.168.19.3", 1000) = False Then '如果第一个IP无法接通
                e.C  ecti
            End If
        End If

这样判断貌似没有什么问题.

但是这样就不行!

If e.Name = "服务器" Then
            If Network.Ping("192.168.19.3", 1000) = False Then '如果第一个IP无法接通
                e.Cc      ti
            ElseIf Network.Ping("192.168.1.3", 1000) = False Then '如果第一个IP无法接通
                e.C  tionString =  "Provider=SQLOLEDB;Password=0000;Persist Security Info=True;User ID=sa;Initial Catalog=His;Data Source=00000"
            End If
        End If

这样就不行了,是什么原因?
[此贴子已经被作者于2019/3/1 22:29:06编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/1 22:46:00 [只看该作者]

这个意思?

If e.Name = "服务器" Then
    If Network.Ping("192.168.19.3", 1000) Then '如果第一个IP可以连接
         e.ConnectionString =  "Provider=SQLOLEDB;Password=0000;Persist Security Info=True;User ID=sa;Initial Catalog=His;Data Source=192.168.19.3"
    ElseIf Network.Ping("192.168.1.3", 1000) Then '如果第二个IP可以连接
        e.ConnectionString =  "Provider=SQLOLEDB;Password=0000;Persist Security Info=True;User ID=sa;Initial Catalog=His;Data Source=192.168.1.3"
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/3/1 22:49:00 [只看该作者]

是这样 我默认的数据源链接是用的这个

e.ConnectionString =  "Provider=SQLOLEDB;Password=0000;Persist Security Info=True;User ID=sa;Initial Catalog=His;Data Source=192.168.19.3"

如果192.168.19.3 不通的话 就用

e.ConnectionString =  "Provider=SQLOLEDB;Password=0000;Persist Security Info=True;User ID=sa;Initial Catalog=His;Data Source=192.168.1.3"  

这个链接

如果 192.168.1.3 再不通就用:
e.C  tionString =  "Provider=SQLOLEDB;Password=0000;Persist Security Info=True;User ID=sa;Initial Catalog=His;Data Source=00000"


这个链接

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/1 22:57:00 [只看该作者]

If e.Name = "服务器" Then
    If Network.Ping("192.168.19.3", 1000) = False Then
        If Network.Ping("192.168.1.3", 1000) Then
            e.ConnectionString =  "Provider=SQLOLEDB;Password=0000;Persist Security Info=True;User ID=sa;Initial Catalog=His;Data Source=192.168.1.3"
        Else
            e.ConnectionString =  "Provider=SQLOLEDB;Password=0000;Persist Security Info=True;User ID=sa;Initial Catalog=His;Data Source=0000"
        End If
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/3/1 23:05:00 [只看该作者]

我试试 因为网不太好 所以测试不出结果

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/3/2 15:33:00 [只看该作者]

今日测试一下,是没有问题,但是发现在wifi状态下是没有办法判断,应该咋办?

 回到顶部
总数 11 1 2 下一页