以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于外部数据源  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=119252)

--  作者:yds
--  发布时间:2018/5/21 16:12:00
--  [求助]关于外部数据源
数据库在本地服务器,地址:192.168.1.250  外网域名 name.com 映射到本地数据库服务器,有没有办法打开程序的时候先检测本机是否允许连接外网,允许联网数据源用name.com连接,不允许连网数据源用192.168.1.250连接。能否实现这样的功能,要如何实现?请教大神!
--  作者:有点甜
--  发布时间:2018/5/21 16:17:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/2709.htm

 

http://www.foxtable.com/webhelp/scr/0682.htm

 


--  作者:YDS
--  发布时间:2018/5/22 8:43:00
--  

BeforeConnectOuterDataSourcede  的代码如下是不是就可以了?


If TryConnectHost("ahxoar.cn") Then
    e.ConnectionString = e.ConnectionString.Replace("192.168.1.250", "ahxoar.cn")
End If


数据源是解决了,那远程升级是不是也有办法解决,升级的时候先检测本机是否允许连接外网,允许联网则用互联网地址升级,不允许连网则本地局域网地址升级。能否实现这样的功能,要如何实现?

--  作者:有点甜
--  发布时间:2018/5/22 9:19:00
--  

升级代码前,动态修改升级路径,即可

 

和远程升级相关的系统变量

  • PublishDate
    日期型变量,返回在项目属性中设置的项目发布日期。
     
  • UpdatePath
    字符型,用于设置或返回在线升级路径,有了这个变量,我们可以动态设置升级路径。
     
  • RemoteUpdate
    逻辑型,是否通过互联网升级。

--  作者:YDS
--  发布时间:2018/5/22 10:31:00
--  
If TryConnectHost("name.com") Then
    RemoteUpdate = True
    UpdatePath = "http://name.com/XX"
Else
    RemoteUpdate = False
    UpdatePath = "http://192.168.1.250/XX"
End If
If Syscmd.Project.Update(False,False) = False Then
    Forms("登录").Open()
End If


请教大神,以上的AfterOpenProject代码正确吗?

--  作者:有点甜
--  发布时间:2018/5/22 10:51:00
--  

回复5楼,逻辑上是正确的,具体你要测试一下才行。

 

TryConnectHost尽量和ping一起判断(如果你TryConnectHost就可以得到结果,那没问题)