【发布时间】:2016-04-28 09:57:59
【问题描述】:
我正在使用 activerecord-oracle_enhanced-enhanced (1.6.6) gem 从 rails 应用程序 (rails 4.2.5) 连接 oracle 数据库
我需要设置数据库连接超时。
以下是database.yml文件中使用的设置,
development:
adapter: oracle_enhanced
host: 10.10.10.58
port: 1521
database: TUTSDB
username: tutsadmin
password: Tuts1234
encoding: utf8
timeout: 15000
我已将超时时间指定为 15 秒。
即使在这样做之后,我们也会收到以下错误:
(ActiveRecord::ConnectionTimeoutError) "could not get a database connection within 5 seconds (waited 5.000144774 seconds)。
它仅等待连接 5 秒(这是默认超时值)。理想情况下,它应该等待 15 秒。
【问题讨论】:
-
您的数据库到底有多慢?如果需要那么长时间,这听起来像是一个损坏的配置。是否在连接时解析反向 DNS 名称?
-
没有。有许多连接,因此无法建立新连接。它等待 5 秒并抛出上述错误。
-
确保您在开发模式下测试您的应用。您已在此处设置了开发模式的超时时间。或者将其设置为所有模式,然后进行测试。
标签: ruby-on-rails activerecord oracle11g