Foxtable(狐表)用户栏目专家坐堂 → 数据源IP无法正确选择


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

主题:数据源IP无法正确选择

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


加好友 发短信
等级:婴狐 帖子:37 积分:412 威望:0 精华:0 注册:2018/10/16 17:43:00
数据源IP无法正确选择  发帖心情 Post By:2020/8/1 8:03:00 [只看该作者]

在BeforeConnectOuterDataSource写入这个

 Select Case e.Name
    Case "外部数据源","系数" 
        If Network.Ping("192.168.1.123",1000) = False  Then     
            e.ConnectionString = e.ConnectionString.Replace("192.168.1.123", "外网IP")
        End If       
End Select

但是系统很不稳定,经常会登录不上,我的目的是内网能登录上就用内网,内网登录不上就用外网IP,请老师帮忙指导一下

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


加好友 发短信
等级:婴狐 帖子:37 积分:412 威望:0 精华:0 注册:2018/10/16 17:43:00
  发帖心情 Post By:2020/8/1 10:54:00 [只看该作者]

 有老师在吗?

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/2 9:57:00 [只看该作者]

 Select Case e.Name
    Case "外部数据源","系数"  
        If Network.Ping("192.168.1.123",1000) = False  Then      
            e.ConnectionString = e.ConnectionString.Replace("192.168.1.123", "外网IP")
msgbox(e.ConnectionString) ‘连接字符串是否正常?这台客户端能不能连接外网?
        End If        
End Select

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


加好友 发短信
等级:婴狐 帖子:37 积分:412 威望:0 精华:0 注册:2018/10/16 17:43:00
  发帖心情 Post By:2020/8/5 20:54:00 [只看该作者]

 连接字符串是正常的,是偶尔连接不了,会不会这样的问题,比如在外网登录时候,本地也有192.168.1.123,能连接通,但是不是服务器,没有切换到外网的IP

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/6 8:32:00 [只看该作者]

既然本地也有192.168.1.123,能连接通,肯定就不会切换呀。代码就是这样判断的

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


加好友 发短信
等级:童狐 帖子:271 积分:2334 威望:0 精华:0 注册:2016/6/3 8:28:00
  发帖心情 Post By:2020/8/6 9:30:00 [只看该作者]

 那我有什么方法可以解决这个问题呢

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/6 9:36:00 [只看该作者]

本地服务器改为不容易冲突的IP,比如:192.168.1.254,或者192.168.1.1,然后到路由里限制一下ip地址分配从范围:192.168.1.10~192.168.1.250,这样其他电脑分配IP地址的时候就不会和服务器冲突了

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


加好友 发短信
等级:童狐 帖子:271 积分:2334 威望:0 精华:0 注册:2016/6/3 8:28:00
  发帖心情 Post By:2020/8/6 9:51:00 [只看该作者]

 我们都是出差在外面的,别人宾馆是控制不了的,在我们这里是没问题

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

那就做成可配置的,自己指定IP

你也可以用另一种方法解决,在项目文件目录下创建一个ip.txt的文本文件,在该文件中输入最新的IP地址,并在BeforeConnectOuterDataSource事件中设置如下代码:

Dim ipFile As String = e.ProjectPath & "ip.txt"
If
 e.Name = "销售数据" Then
    If
 Filesys.FileExists(ipFile) Then
        Dim
 ip As String = FileSys.ReadAllText(ipFile)
        e.ConnectionString = e.ConnectionString.Replace("119.119.120.120",ip)
    End 
If

End
 If


 回到顶部