以文本方式查看主题

-  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=162069)

--  作者:yifan3429
--  发布时间:2021/4/4 0:24:00
--  内外网判断及提示
默认外部数据库链接,我想在本地优先,是不是一定要默认就是本地IP,还是  随便设计内外IP 通过BeforeConnectOuterDataSource修改即可
Provider=SQLOLEDB.1;Password=yifanXXXX;Persist Security Info=True;User ID=sa;Initial Catalog=city;Data Source=yifanXXX.oicp.net,307


图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_20210404002514.png
图片点击可在新窗口打开查看


我希望优先链接本地IP,如果检测不到本地数据库ip 就直接链接远程IP

Dim a As String = "192.168.0.1"  \'本地局域网IP  
Dim b As String = "yifanxxxx.oicp.net,30798"  \'远程IP
Select Case e.Name
    Case "city","dufox" ,"rizhi"  \'数据源
        If Network.Ping(a,1000) = True  Then
            e.ConnectionString = e.ConnectionString.Replace(b, a)            
        End If
End Select

根据网路链接情况提示客户当前链接的是内网还是外网
[此贴子已经被作者于2021/4/6 1:01:58编辑过]

--  作者:有点蓝
--  发布时间:2021/4/5 20:36:00
--  
本地IP如果是127.0.0.1,没有必要判断,正常只要开机,肯定都是通的,除非是使用局域网内其它服务器IP。
--  作者:有点蓝
--  发布时间:2021/4/5 20:41:00
--  
如果是要判断本机是否安装SqlServer,可以判断一下C:\\Program Files\\Microsoft SQL Server这个文件夹是否存在。

如果要判断本地数据库是否可以连接,参考http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=150568&replyID=77084&skin=1

--  作者:yifan3429
--  发布时间:2021/4/6 0:58:00
--  
本地IP 就是指的局域网,就是要判断内外网吗,实际使用中127.会替换成192.168.xxx

我要保证系统优先使用公司内网,如果联系不上 就代表在公司外 使用公网链接

[此贴子已经被作者于2021/4/6 1:01:15编辑过]

--  作者:有点蓝
--  发布时间:2021/4/6 8:12:00
--  
就是1楼的用法
--  作者:yifan3429
--  发布时间:2021/4/7 1:27:00
--  
需要增加提示,告诉客户您当前网络链接是内还是外,对话框语句怎么加
--  作者:有点蓝
--  发布时间:2021/4/7 8:35:00
--  
http://www.foxtable.com/webhelp/topics/0326.htm

        If Network.Ping(a,1000) = True  Then
            e.ConnectionString = e.ConnectionString.Replace(b, a)      
MessageBox.Show("外网!")
else
MessageBox.Show("内网!")      
        End If