根据老师的提示更改了对应的部分 现在代码如下:
网络ip ping有时候是会掉那么几秒,有没有办法增加一个延时ping呢?比如60秒延时
另外我主要是想实现的是
项目启动时,项目与数据库无法正常通讯的时候,弹出提示,然后退出项目!
运行过程中项目与数据库无法正常通讯的时候,弹出提示,联系管理员,然后可以正常通讯的时候,项目继续运行!
下述对应的事件代码 是否可以精简,或者那些部分不需要呢?不然系统项目总是在链接ip 对服务器有点负荷……
daiBeforeConnectOuterDataSource代码如下:
Dim File As String = e.ProjectPath & "\Attachments\Connect.Ini"
e.ConnectionString = FileSys.ReadAllText(File)
Dim ErrMsg As String
Dim Conn As String = FileSys.ReadAllText(File)
If Connections.TryConnect(Conn,ErrMsg) = False Then
vars("数据源状态")=False
MessageBox.Show("数据源无法连通,原因:" & ErrMsg)
Syscmd.Project.Exit()
Else
If Connections.Contains("无纸化会议")=True Then
Else
Connections.Add("无纸化会议",Conn)
End If
vars("数据源状态")=True
Dim tb As DataRow =DataTables("系统设置").Find("设置名='软件升级地址'")
If tb IsNot Nothing Then
UpdatePath = tb("设置内容")
End If
Dim tb1 As DataRow =DataTables("系统设置").Find("设置名='是否互联网升级'")
If tb1 IsNot Nothing Then
RemoteUpdate=tb1("设置内容")
End If
End If
BeforeOpenProject代码如下:
Dim ipFile As String = ProjectPath & "\Attachments\ip.txt"
If Filesys.FileExists(ipFile) Then
Dim ip As String = FileSys.ReadAllText(ipFile)
If Network.Ping(ip) Then
Else
e.Cancel = True
e.HideSplashForm = True
Messagebox.Show("该数据库服务器不可用,无法打开此项目!请联系系统管理员处理!","温馨提示")
Syscmd.Project.Exit()
End If
End If
BeforeShowErrorMessage代码如下:
if vars("已弹出") = false
If e.message1.Contains("一般性网络错误") OrElse e.message1.Contains("Sql server 不存在或拒绝访问") Then
e.Cancel = True
vars("已弹出") = true
MessageBox.Show("数据库服务器链接失败,系统即将退出!")
Syscmd.Project.Exit()
End If
end if
服务器链接判断 任务计划代码:
Dim ipFile As String = ProjectPath & "\Attachments\ip.txt"
If Filesys.FileExists(ipFile) Then
Dim ip As String = FileSys.ReadAllText(ipFile)
If Network.Ping(ip) Then
vars("数据源状态")=True
Else
Messagebox.Show("与服务器链接断开,请勿进行任何操作!请联系系统管理员处理!","温馨提示")
vars("数据源状态")=False
Syscmd.Project.Exit()
End If
End If
[此贴子已经被作者于2022/5/13 18:14:01编辑过]