【问题标题】:How to Set Timeout for Ruby ODBC Driver for SQL Server?如何为 SQL Server 的 Ruby ODBC 驱动程序设置超时?
【发布时间】:2009-07-08 22:12:11
【问题描述】:

我想知道在连接到 SQL Server 时如何为 Ruby DBI ODBC 驱动程序显式设置超时。我希望长时间运行的查询能够简单地超时并自行取消,从而节省更多的服务器资源和 Rails 进程。

这发生在我们使用基于 ADO 的 Ruby 驱动程序时,但现在我们已经切换到 DBD::ODBC,我们不再遇到超时问题。

我环顾四周,但找不到如何设置查询超时值。我尝试在驱动程序中显式设置一些值,并在连接的 DSN 配置中同时指定 Timeout 和 ConnectionTimeout 和 Connect Timeout。没有运气。

非常感谢您的提示和建议。

谢谢! 赛斯

【问题讨论】:

    标签: sql-server ruby odbc connection driver


    【解决方案1】:

    如何将整个查询包装在 Ruby 的内置超时库中?

    require 'timeout'
    
    begin
      Timeout::timeout(5) {
        @db.query(...)
      }
    rescue Timeout::Error
      puts "Too slow, forget about it."
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-16
      • 2016-04-23
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 2022-09-24
      相关资源
      最近更新 更多