以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于数据源问题 如何判断内网或者外网 自动切换数据源  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81929)

--  作者:celchentao
--  发布时间:2016/3/8 23:49:00
--  关于数据源问题 如何判断内网或者外网 自动切换数据源
关于数据源问题 请教高手 老是   
打开项目的时候如何判断网络环境链接的数据库是内网或者外网 自动切换数据源  如果内网假设  192.168.2.X  能链接 就用这个 如果用户在外网  如何更换成  域名访问方式的数据源


示例五

假定有两个IP地址(也可能是两个服务器),分别是192.168.1.100和119.75.217.56,默认使用第一个IP地址,如果第一个IP地址无法接通,则自动切换到第二个IP地址。
要实现这个功能很简单,首先在设置数据源的时候,使用第一个IP地址(192.168.1.100)设置,然后在BeforeConnectOuterDataSource事件中设置如下代码:

If e.Name = "数据源名称" Then
    If Network.Ping("192.168.1.100",1000) = False  Then \'如果第一个IP无法接通
        e.ConnectionString = e.ConnectionString.Replace("192.168.1.100", "119.75.217.56")
    End If

End
If


这个 帮助文件有   但是 运用后 内网可以正常   外网的话 就会闪退


--  作者:Hyphen
--  发布时间:2016/3/9 8:38:00
--  
参考http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=62475
--  作者:大红袍
--  发布时间:2016/3/9 10:01:00
--  

1、你用的是sqlserver数据库吗?

 

2、你的代码怎样写?


--  作者:dtcaoqian
--  发布时间:2016/3/9 10:02:00
--  
我也正想问这个问题
--  作者:celchentao
--  发布时间:2016/3/10 13:18:00
--  请教老师

If e.Name = "数据源名称" Then
    If Network.Ping("192.168.1.100",1000) = False  Then \'如果第一个IP无法接通
        e.ConnectionString = e.ConnectionString.Replace("192.168.1.100""119.75.217.56"
    End If

End
 If


按照这个 帮助文件写的  但是 运用后 内网可以正常   外网的话 就会闪退     数据库是sql server2005


--  作者:黄训良
--  发布时间:2016/3/10 13:25:00
--  

参考:

项目发布后之二_数据源的更改及服务器的登录设置


--  作者:大红袍
--  发布时间:2016/3/10 15:02:00
--  

1、加入msgbox,弹出连接字符看看是否正确。

 

2、用字符串直接在项目里面连接外部数据源是否正确?


--  作者:santde
--  发布时间:2016/3/10 15:19:00
--  
你要的  这里获取免费代码里面全有
[此贴子已经被作者于2016/3/10 15:19:12编辑过]