救命:当数据库服务器重启之后客户端如何自动重新建立连接?

hustwjz 2005-03-17 09:38:25
客户端与SQL Server之间的网络品质不是很好,有时候网络连线会中断。在网络中断的时间内,如果我执行了某种数据库操作,系统会出现错误提示"连线失败"。
如果这个时候数据库服务器之间的网络连接又正常了,再执行刚才的操作,数据库操作还是会失败。提示还是"连线失败"。
此时我查询AdoConnection和AdoDataset的Connect和Active状态,他们为True.

有没有什么办法让这些组件聪明一点,重试时能够恢复以前的连接?
...全文
336 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunshinell 2005-03-17
  • 打赏
  • 举报
回复
更正:文本--》字符串
sunshinell 2005-03-17
  • 打赏
  • 举报
回复
可将AdoConnection的Connection属性里Builder部分的文本保存在一个变量里,再次连接的时候重新赋值试试看
DebugXP 2005-03-17
  • 打赏
  • 举报
回复
把connection 用一个GetConnection函数封装起来。
每次获取连接自动检查连接是否有效,用try捕捉异常,出现异常则重新连接数据库。
hustwjz 2005-03-17
  • 打赏
  • 举报
回复
但是,对于一个作为中间层的service,这该如何处理呢?另外如何知道当前的数据库操作失败的原因是"连线失败"?
fhuibo 2005-03-17
  • 打赏
  • 举报
回复
我想就是,提示数据库连接失败,然后系统出现登陆的界面
或者,在一个时间段内,PING服务器,通后在连接一次

方法很本
kuki84 2005-03-17
  • 打赏
  • 举报
回复
设置个定时取数据的,如5分钟取一次,如果某次存取超时,就重新连接 。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧