以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [分享]分享一个自动分配多个数据源的方法  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=150799)

--  作者:81538475
--  发布时间:2020/6/8 9:05:00
--  [分享]分享一个自动分配多个数据源的方法
如果在分部,或者多个办公地点的内网服务器IP不同的情况下,希望后期方便修改数据源IP,并且以在第一次找到数据源IP后进行记录的方法

Dim ipFile As String = ProjectPath & "ip.txt"
Dim ips As String = FileSys.ReadAllText(ipFile)

Dim GETIP As String = Registry.GetValue("HKEY_CURRENT_USER\\Software\\MyApp","IP","")   ‘-----------------获取注册表ip

If e.Name = "内网数据源名" Then
    
    
    If getip <>"" AndAlso Network.Ping(getip,1000) = True Then     ‘------------如果PING通,就直接连接了,ping不通的时候才会尝试其他IP,这样在分部比较多的情况下速度应该会更快些。 
        
        e.ConnectionString = e.ConnectionString.Replace("172.16.10.240",getip)
        Return
    End If
    For Each ip As String In ips.Split("|")         ’----------记事本里面的ip 用“|”分割   如:172.16.10.240|10.41.70.151
         
        If Network.Ping(ip,1000) = True Then   

                Registry.SetValue("HKEY_CURRENT_USER\\Software\\MyApp","IP",IP)    ‘-----------------如果找到写入注册表,方便下次直接调用
            
            Return
        End If
        
        
    Next
    
End If

--  作者:有点蓝
--  发布时间:2020/6/8 9:08:00
--  
多谢分享