以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何判断项目打开运行时处于公司内部局域网还是在外网? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71860) |
-- 作者:huangfanzi -- 发布时间:2015/7/19 16:25:00 -- [求助]如何判断项目打开运行时处于公司内部局域网还是在外网? 项目的数据库用的是SQL,服务器上做了端口映射实现的外部网也能访问,为了速度,如果用户打开项目时处于公司局域网内,则连接数据库的字串用局域网的,如果不在公司局域网,就用外网的连接字串,二种连接字串我已掌握,现就是少个思路,我怎么能让项目知道打开时是在什么环境,请老师给个思路。 |
-- 作者:大红袍 -- 发布时间: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 -- 发布时间:2015/7/20 9:09:00 -- 老师,我用PING服务器的方法实现了判断当前环境处于内网或外网,但光就PING通服务器地址感觉不可靠,万一我在酒店或网吧中,刚好哪个环境也有与我服务器一样的IP地址,这样会造成判断错误而连不上数据库,能不能实现返回指定IP地址的计算机名字来进一步判断环境,例如我的服务器地址是192.168.1.2,服务器名是 SQLserver,希望既要PING通服务器,并且比对服务器名,二者都满足后才算是在公司内网。 |
-- 作者:大红袍 -- 发布时间:2015/7/20 10:40:00 -- 其实不需要ip地址的,直接ping 计算机名称 也可以。
再说,你可以连数据库啊
TryConnect 测试指定的链接字符串能否连通,如果能连通,则返回True,否则返回False。 语法: ConnectionString:要测试的链接字符串。
Dim s As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\data\\Northwind.mdb;Persist Security Info=False" |