Foxtable(狐表)用户栏目专家坐堂 → 当项目链接不上数据库服务器的时候 弹出Sql server 不存在或拒绝访问 然后项目一直卡起来了


  共有3956人关注过本帖树形打印复制链接

主题:当项目链接不上数据库服务器的时候 弹出Sql server 不存在或拒绝访问 然后项目一直卡起来了

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/13 11:34:00 [显示全部帖子]

红色是自己写代码弹窗的,肯定会多次弹出啊!一个在计划里,不停执行;一个在BeforeShowErrorMessage,只要连接数据库出错就会弹出。

不想多次弹出可以这样

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


至于【当指定的ip无法ping通的时候,但是实际上ip在cmd下又是可以ping通的】,在网络不稳定的时候会有这种情况的,这几秒钟连不上,下几秒钟可能就连上了。来自己写日志记录一下,当时ping不通的是哪一个IP。也可以考虑网上下载些网络监控软件,看看网络的连接情况


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/14 8:45:00 [显示全部帖子]

BeforeConnectOuterDataSource代码没有任何用处,去掉。把Connections.TryConnect判断并退出代码放到BeforeOpenProject;添加数据源和设置设计路径,应该放到AfterOpenProject,

计划管理去掉

 回到顶部