以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数据源问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=176819)

--  作者:wssylxb
--  发布时间:2022/4/27 19:49:00
--  数据源问题
      做的一个系统是云服务器作为数据源,现在想在无法连上这个服务器时,自动启动另外一个系统,然后关闭目前的系统。
但这个语句放哪里才可以呢?我放在BeforeConnectOuterDataSource中及BeforeOpenProject中都不行,把远程服务器关机后,
还是弹出无法连接远程服务器的出错弹窗。如果把"xx.xx.xx.xx"这个IP随便填一个无法ping通的地址,可以做到自动启动发邮件的
系统,然后关闭目前的系统。但填上实际的云服务器ip后,启动系统就是先弹出无法连接数据源的错误弹窗,我的这样的场景应该这
样实现?谢谢老师!

BeforeConnectOuterDataSource

If TryConnectHost("xx.xx.xx.xx")=False Then

    Dim Proc As New Process \'定义一个新的Process

    Proc.File =  ProjectPath & "\\发邮件系统\\foxtable.exe" \'指定要打开的文件

    Proc.Start()

    System.Environment.Exit(0)

End If

 
BeforeOpenProject

If TryConnectHost("xx.xx.xx.xx")=False Then

    Dim Proc As New Process \'定义一个新的Process

    Proc.File =  ProjectPath & "\\发邮件系统\\foxtable.exe" \'指定要打开的文件

    Proc.Start()

    System.Environment.Exit(0)

End If

--  作者:有点蓝
--  发布时间:2022/4/28 9:05:00
--  
BeforeOpenProject

If TryConnectHost("xx.xx.xx.xx")=False Then

    Dim Proc As New Process \'定义一个新的Process

    Proc.File =  ProjectPath & "\\发邮件系统\\foxtable.exe" \'指定要打开的文件

    Proc.Start()

    e.cancel=true

End If

--  作者:wssylxb
--  发布时间:2022/4/28 9:18:00
--  
谢谢老师!
--  作者:wssylxb
--  发布时间:2022/4/28 10:33:00
--  
老师:按您的代码 在BeforeOpenProject 加入如下代码


If TryConnectHost("101.226.19.117")=False Then

    Dim Proc As New Process \'定义一个新的Process

    Proc.File =  ProjectPath & "\\发邮件系统\\foxtable.exe" \'指定要打开的文件

    Proc.Start()

    e.cancel=true

End If
上边的IP是ping不通的,但启动项目后还是不跳转到发邮件系统中。

--  作者:有点蓝
--  发布时间:2022/4/28 10:57:00
--  
ping使用这个:http://www.foxtable.com/webhelp/topics/1401.htm

如果是要判断数据库是否可以连接,使用Connections.TryConnect:http://www.foxtable.com/webhelp/topics/1944.htm