首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何优雅地处理无法访问的数据库服务器?

如何优雅地处理无法访问的数据库服务器?
EN

Stack Overflow用户
提问于 2011-08-21 09:20:05
回答 1查看 1.6K关注 0票数 1

我有一个应用程序,主要是在mysql中,但对于一些页面需要连接到另一个mssql服务器。我已经成功地做到了这一点,但是当我在mac笔记本电脑上进行开发时,sql服务器在另一台主机上,它有时是不可用的。当服务器不可用时,有没有一种合适的方法来处理连接?即,我仍然希望开发和测试运行的部分不依赖于该服务器。

如果生产rails应用程序失去了与ms sql server的连接,这也很方便--如果能够捕获错误并显示一条漂亮的"Server unavailable“消息可能会更好……但仍然允许应用程序的其余部分不依赖于该数据库运行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-21 10:50:19

我会考虑在需要数据库访问的页面上使用before过滤器。当您检测到数据库关闭时,重定向到非数据库页面并闪现一条错误消息。

代码语言:javascript
复制
  before_filter :check_for_database

  def check_for_database
    begin
      ActiveRecord::Base.connection_pool.with_connection {|con| con.active?}
    rescue => err
      flash[:error] = "The database is down, please use pages that dont require database access."
      redirect_to :controller => 'home'
      return
    end

这是受到RailsForum here上的一篇文章的启发。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7135756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档