以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 当项目链接不上数据库服务器的时候 弹出Sql server 不存在或拒绝访问 然后项目一直卡起来了 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=177210) |
-- 作者:cnsjroom -- 发布时间:2022/5/12 20:33:00 -- 当项目链接不上数据库服务器的时候 弹出Sql server 不存在或拒绝访问 然后项目一直卡起来了 Sql server 不存在或拒绝访问
当项目链接不上数据库服务器的时候 弹出Sql server 不存在或拒绝访问 然后项目一直卡起来了
有没有代码可以直接判断,如果当出现这个错误的时候,直接提示数据库链接失败,然后直接退出当前项目。 |
-- 作者:有点蓝 -- 发布时间:2022/5/12 20:58:00 -- BeforeShowErrorMessage 事件(项目属性那里)
写代码
If e.message1.Contains("一般性网络错误") orelse e.message1.Contains("Sql server 不存在或拒绝访问") Then e.Cancel = True Syscmd.Project.Exit() End If |
-- 作者:cnsjroom -- 发布时间:2022/5/13 11:13:00 -- 回复:(有点蓝)BeforeShowErrorMessage 事件(... 还是会弹出错误,然后卡死,以下是相关全部代码,麻烦老师看看 那些事件代码是重复的,可以去掉的! 其中红色部分的提示内容,会多次弹出,当指定的ip无法ping通的时候,但是实际上ip在cmd下又是可以ping通的
daiBeforeConnectOuterDataSource代码如下: Dim File As String = e.ProjectPath & "\\Attachments\\Connect.Ini" Dim ErrMsg As String
BeforeOpenProject代码如下: Dim ipFile As String = ProjectPath & "\\Attachments\\ip.txt"
BeforeShowErrorMessage代码如下: If e.message1.Contains("一般性网络错误") OrElse e.message1.Contains("Sql server 不存在或拒绝访问") Then
服务器链接判断 任务计划代码: Dim ipFile As String = ProjectPath & "\\Attachments\\ip.txt" |
-- 作者:有点蓝 -- 发布时间:2022/5/13 11:34:00 -- 红色是自己写代码弹窗的,肯定会多次弹出啊!一个在计划里,不停执行;一个在BeforeShowErrorMessage,只要连接数据库出错就会弹出。 不想多次弹出可以这样 BeforeShowErrorMessage代码如下: if vars("已弹出") = false If e.message1.Contains("一般性网络错误") OrElse e.message1.Contains("Sql server 不存在或拒绝访问") Then vars("已弹出") = true end if 至于【当指定的ip无法ping通的时候,但是实际上ip在cmd下又是可以ping通的】,在网络不稳定的时候会有这种情况的,这几秒钟连不上,下几秒钟可能就连上了。来自己写日志记录一下,当时ping不通的是哪一个IP。也可以考虑网上下载些网络监控软件,看看网络的连接情况 |
-- 作者:cnsjroom -- 发布时间:2022/5/13 18:14:00 -- 回复:(有点蓝)红色是自己写代码弹窗的,肯定会多次... 根据老师的提示更改了对应的部分 现在代码如下: 网络ip ping有时候是会掉那么几秒,有没有办法增加一个延时ping呢?比如60秒延时
另外我主要是想实现的是 项目启动时,项目与数据库无法正常通讯的时候,弹出提示,然后退出项目! 运行过程中项目与数据库无法正常通讯的时候,弹出提示,联系管理员,然后可以正常通讯的时候,项目继续运行!
下述对应的事件代码 是否可以精简,或者那些部分不需要呢?不然系统项目总是在链接ip 对服务器有点负荷……
daiBeforeConnectOuterDataSource代码如下: Dim File As String = e.ProjectPath & "\\Attachments\\Connect.Ini" Dim ErrMsg As String
BeforeOpenProject代码如下: Dim ipFile As String = ProjectPath & "\\Attachments\\ip.txt"
BeforeShowErrorMessage代码如下: if vars("已弹出") = false If e.message1.Contains("一般性网络错误") OrElse e.message1.Contains("Sql server 不存在或拒绝访问") Then vars("已弹出") = true end if
服务器链接判断 任务计划代码: Dim ipFile As String = ProjectPath & "\\Attachments\\ip.txt"
[此贴子已经被作者于2022/5/13 18:14:01编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/5/14 8:45:00 -- BeforeConnectOuterDataSource代码没有任何用处,去掉。把Connections.TryConnect判断并退出代码放到BeforeOpenProject;添加数据源和设置设计路径,应该放到AfterOpenProject, 计划管理去掉
|