以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  一个数据源对应两个连接  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=177757)

--  作者:hopestarxia
--  发布时间:2022/6/2 13:48:00
--  一个数据源对应两个连接
老师,使用的是SQL2005数据源,参照示例5设置了两个IP地址(一个局域网IP(数据源设置对应的IP),一个公网IP),
但是在公网上使用时,并不能切换到第二个IP连接上来。(注:公网IP单独设置数据源时是可以正常访问的,地址没有问题),请问是哪里出了问题?

--  作者:有点蓝
--  发布时间:2022/6/2 13:57:00
--  
怎么做切换的?
--  作者:hopestarxia
--  发布时间:2022/6/3 4:23:00
--  
数据源名为:SQSJY
代码为  Provider=SQLOLEDB.1;Password=KX987yl++;Persist Security Info=True;User ID=sa;Initial Catalog=ccgl;Data Source=192.168.2.155,8056

项目属性  BeforeConnectOuterDataSource 里代码如下:
If e.Name = "SQSJY" Then
    If Network.Ping("192.168.2.155,8056",1000) = False  Then \'如果第一个IP无法接通
        e.ConnectionString = e.ConnectionString.Replace("192.168.2.155,8056", "外网IP地址,8056") 
    End If
End If

上面的外网IP地址如直接设置在数据源中能正常连接使用。

--  作者:狐狸爸爸
--  发布时间:2022/6/3 10:57:00
--  
If e.Name = "SQSJY" Then
    If Network.Ping("192.168.2.155,8056",1000) = False  Then \'如果第一个IP无法接通
        e.ConnectionString = e.ConnectionString.Replace("192.168.2.155,8056", "外网IP地址,8056") 
        MessageBox.show("切换了哦,新的链接字符串" & e.ConnectionString)
    else
 MessageBox.show(“局域网正常,没有切换”" )
    End If
else
    MessageBox.show("名字错误,正确的:" & e.name)
End If