Foxtable(狐表)用户栏目专家坐堂 → [求助]如何判断项目打开运行时处于公司内部局域网还是在外网?


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

主题:[求助]如何判断项目打开运行时处于公司内部局域网还是在外网?

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]如何判断项目打开运行时处于公司内部局域网还是在外网?  发帖心情 Post By:2015/7/19 16:25:00 [只看该作者]

项目的数据库用的是SQL,服务器上做了端口映射实现的外部网也能访问,为了速度,如果用户打开项目时处于公司局域网内,则连接数据库的字串用局域网的,如果不在公司局域网,就用外网的连接字串,二种连接字串我已掌握,现就是少个思路,我怎么能让项目知道打开时是在什么环境,请老师给个思路。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/19 16:27:00 [只看该作者]

ping一个内网地址,如果可以ping通的话,就用内网,否则,就用外网。

 

http://www.foxtable.com/help/topics/1401.htm

 

http://www.foxtable.com/help/topics/0682.htm

 


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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/7/20 9:09:00 [只看该作者]

老师,我用PING服务器的方法实现了判断当前环境处于内网或外网,但光就PING通服务器地址感觉不可靠,万一我在酒店或网吧中,刚好哪个环境也有与我服务器一样的IP地址,这样会造成判断错误而连不上数据库,能不能实现返回指定IP地址的计算机名字来进一步判断环境,例如我的服务器地址是192.168.1.2,服务器名是 SQLserver,希望既要PING通服务器,并且比对服务器名,二者都满足后才算是在公司内网。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/20 10:40:00 [只看该作者]

 其实不需要ip地址的,直接ping 计算机名称 也可以。

 

 再说,你可以连数据库啊

 

TryConnect

测试指定的链接字符串能否连通,如果能连通,则返回True,否则返回False。

语法:

TryConnect(ConnectionString)

ConnectionString:要测试的链接字符串。

 

Dim s As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\data\Northwind.mdb;Persist Security Info=False"
If
Connections.TryConnect(s) = False Then
    MessageBox.Show("数据源无法连通!"
)
End If


 回到顶部