我目前在IIS7中的Windows 2008服務器上運行ruby on rails(ruby 1.8.7,rails 2.3.8)。我正在使用mongrel rails來運行實例,然後將這些實例添加到IIS7中的服務器場以供使用。Ruby Rails Mongrel Server ODBC連接重置
當應用程序正在運行,並且以某種方式對數據庫服務器的連接出現故障,它似乎是Rails應用程序仍然在試圖使用ODBC連接來連接,我收到以下錯誤
ActiveRecord::StatementInvalid (ODBC::Error: S0002 (208) [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'sessions_table'.: SELECT TOP 1 * FROM [sessions_table] WHERE ([sessions_table].[session_id] = 'e6a7e7bc3b72edf2662c2b97793694d2')):
vendor/gems/activerecord-sqlserver-adapter-2.3.10/lib/active_record/connection_adapters/sqlserver_adapter.rb:946:in `raw_select'
vendor/gems/activerecord-sqlserver-adapter-2.3.10/lib/active_record/connection_adapters/sqlserver_adapter.rb:923:in `select'
app/controllers/application_controller.rb:107:in `set_locale'
haml (3.0.17) [v] lib/sass/plugin/rack.rb:41:in `call'
haml (3.0.17) [v] lib/sass/plugin/rack.rb:41:in `call'
config/initializers/mongrel.rb:62:in `dispatch_cgi'
此錯誤當我重啓mongrel服務時會消失,但是,如果應用程序識別出odbc錯誤並自動重置連接,我真的很喜歡它。有任何想法嗎?
不是一個answer.I'm不知道爲什麼你得到這個錯誤的,但是,嘗試使用ActiveRecord :: Base.verify_active_connections! ,它幫助我在rails 2.3.5中使用background_job數據庫連接丟失問題。基本上它檢查數據庫連接和重新連接...希望這可以幫助 – andrea 2011-02-03 00:19:34