Foxtable(狐表)用户栏目专家坐堂 → 内网和外网客户访问数据库切换


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

主题:内网和外网客户访问数据库切换

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


加好友 发短信
等级:三尾狐 帖子:659 积分:5357 威望:0 精华:0 注册:2018/5/19 22:27:00
内网和外网客户访问数据库切换  发帖心情 Post By:2023/7/26 22:11:00 [只看该作者]

老师用下面的方法是不是可以达到,外网客户端和内网客户端设置不同的IP进行访问数据库?

因为一部分使用者跟服务器是内网,一部分是外网



假定有两个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


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


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

可以

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


加好友 发短信
等级:小狐 帖子:304 积分:2091 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2023/7/27 10:15:00 [只看该作者]

你真这么做,那么登录的时候可能等待时间会非常长。数据库不通的时候返回很慢的。
最好自己做个服务端的登录判断,根据客户端IP内外网的不同,发送不同的连接字符串。这样不需要对方漫长的等待。

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


加好友 发短信
等级:三尾狐 帖子:659 积分:5357 威望:0 精华:0 注册:2018/5/19 22:27:00
  发帖心情 Post By:2023/7/27 11:22:00 [只看该作者]

老师我这边发布的程序,链接不上服务器,点击提示消息,如何打开手动链接数据库的窗口?

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


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/7/27 12:03:00 [只看该作者]

如果在项目属性关闭了允许数据源设置就没有办法的。

否可以使用开发者登录后,链接不上数据库的时候会弹出设置窗口的

 回到顶部