以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- SQL的连接多路选择 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=92714) |
|
-- 作者:yang1972 -- 发布时间:2016/11/10 21:58:00 -- SQL的连接多路选择 版主好:我用SQL 数据库作数据源,连接数据库服务器工作的 有 外网和局域网电脑,FOXTABLE 怎样设置,自动检测与数据库连接速度,然后用户选择最快的连接方式。进行登陆工作。
|
|
-- 作者:有点蓝 -- 发布时间:2016/11/10 22:00:00 -- http://www.foxtable.com/webhelp/scr/0682.htm |
|
-- 作者:yang1972 -- 发布时间:2016/11/10 22:49:00 -- 我使用这个方案:如果第二个IP还不行,能不能再设置第三个IP? 假定有两个IP地址(也可能是两个服务器),分别是192.168.1.100和119.75.217.56,默认使用第一个IP地址,如果第一个IP地址无法接通,则自动切换到第二个IP地址。 If e.Name = "数据源名称" Then |
|
-- 作者:有点蓝 -- 发布时间:2016/11/10 22:53:00 -- 多少个都可以,循环所有ip,逐一判断 |
|
-- 作者:yang1972 -- 发布时间:2016/11/11 7:10:00 -- 怎么循环所有ip,代码怎么写啊,帮我写个好吗?谢谢 |
|
-- 作者:有点蓝 -- 发布时间:2016/11/11 8:37:00 -- If e.Name = "数据源名称" Then Dim ips() As String = { "192.168.0.1","192.168.0.2","192.168.0.3" } For Each ip As String In ips If Network.Ping(ip,1000) Then \'如果IP接通 e.ConnectionString = e.ConnectionString.Replace("192.168.1.100", ip) Exit For End If Next End If
|
|
-- 作者:yang1972 -- 发布时间:2016/11/11 10:27:00 -- If e.Name = "spxt-001" Then Dim ips() As String = { "218.22.183.172,3433","173.31.216.67,3433","192.168.1.21,3433" } For Each ip As String In ips If Network.Ping(ip,1000) Then \'如果IP接通 e.ConnectionString = e.ConnectionString.Replace("192.168.1.21,3433", ip) Exit For End If Next End If 我这个有什么错误吗,系统打不开
|
|
-- 作者:有点蓝 -- 发布时间:2016/11/11 10:36:00 -- If e.Name = "spxt-001" Then Dim ips() As String = { "218.22.183.172","173.31.216.67","192.168.1.21" } For Each ip As String In ips If Network.Ping(ip) Then \'如果IP接通 e.ConnectionString = e.ConnectionString.Replace("192.168.1.21", ip) Exit For End If Next End If
|
|
-- 作者:yang1972 -- 发布时间:2016/11/11 10:56:00 -- 不行啊,数据源设置的IP未能连接时 ,代码未起到作用检测自动更换作用,连接不到数据库 此主题相关图片如下:qq图片20161111105430.png |
|
-- 作者:有点蓝 -- 发布时间:2016/11/11 11:29:00 -- 测试没有问题。 更改后,在9楼图片的数据源管理里看到的仍然还是旧的数据源设置,但是实际连接的是新的数据源了 所以要保证不同数据库的表结构是一致的
|