当前已经实现项目打开前进行数据源连接判断,连接成功打开项目,反之就直接退出项目;怎么实现项目打开成功后,运行过程中,数据源连接不成功时,提示用户,并暂停所有的计划管理事件或其他代码事件的运行,待数据源连接恢复或者重启项目后,在恢复项目所有功能的运行呢?
daimBeforeConnectOuterDataSource代码:
Dim File As String = e.ProjectPath & "\Attachments\Connect.Ini"
e.ConnectionString = FileSys.ReadAllText(File)
BeforeOpenProject代码:
Dim s As String = FileSys.GetParentPath(e.File) & "\Attachments\Connect.Ini"
'MessageBox.Show(s)
If FileSys.FileExists(s) = False Then
e.Cancel = True
e.HideSplashForm = True
MessageBox.show("Connect.Ini文件丢失,无法打开此项目.")
Else
Dim ErrMsg As String
Dim Conn As String = FileSys.ReadAllText(s)
If Connections.TryConnect(Conn,ErrMsg) = False Then
vars("数据源状态")=False
MessageBox.Show("数据源无法连通" & vbcrlf & "原因:" & ErrMsg & vbcrlf & "点击确定,退出当前系统,请重新启动程序!" ,"温馨提示")
Syscmd.Project.Exit()
Else
vars("数据源状态")=True
End If
End If
AfterOpenProject代码:
Dim File As String = ProjectPath & "\Attachments\Connect.Ini"
Dim ErrMsg As String
Dim Conn As String = FileSys.ReadAllText(File)
If Connections.TryConnect(Conn,ErrMsg) = False Then
MessageBox.Show("数据源无法连通" & vbcrlf & "原因:" & ErrMsg & vbcrlf & "点击确定,退出当前系统,请重新启动程序!" ,"温馨提示")
vars("数据源状态")=False
Syscmd.Project.Exit()
Else
BeforeShowErrorMessage代码:【项目正常运行过程中,不会一直直接弹出“数据库服务器链接失败”的提示,经常会弹出对应的message1内容!】
If vars("已弹出") = False
If e.message1.Contains("给定关键字不在字典中") OrElse e.message1.Contains("未将对象引用设置到对象的实例") OrElse e.message1.Contains("登录超时已过期") OrElse e.message1.Contains("无法完成延迟准备") OrElse e.message1.Contains("调用的目标发生了异常") OrElse e.message1.Contains("自定义函数") OrElse e.message1.Contains("一般性网络错误") OrElse e.message1.Contains("[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问") OrElse e.message1.Contains("不存在或拒绝访问") Then
e.Cancel = True
vars("已弹出") = True
vars("数据源状态")=False
'output.show(e.message1)
'MyTimers("判断是否有会议开始并启动登录").Enabled = False
'MyTimers("判断会议状态关闭会议主体及预览").Enabled = False
MessageBox.Show("数据库服务器链接失败,请点击确定退出程序后,联系管理员处理!!","温馨提示")
Syscmd.Project.Exit()
End If
End If