I think its Pervasive specific, so I will try overriding the execute / run method in the subadapter we have for Pervasive. Do you think its possible to cleanly retry the request in these cases? Or is there a way to run a periodic test on the connections every hour or so to see if they are still ok?
On Dec 28, 1:57 pm, Jeremy Evans <[email protected]> wrote: > On Dec 28, 12:24 pm, daniel_spaniel <[email protected]> wrote: > > > > > Hi > > I had an error that looked like this: > > > Sequel::DatabaseError (ODBC::Error: 08S01 (9305) [unixODBC][Pervasive] > > [ODBC Client Interface][Client LNA]Your connection to the server is no > > longer working. To continue, disconnect from the data source and re- > > connect again. Contact your system administrator if you still need > > assistance.): > > > stacktrace: > > > sequel (3.5.0) lib/sequel/adapters/odbc.rb:51:in `run' > > sequel (3.5.0) lib/sequel/adapters/odbc.rb:51:in `execute' > > sequel (3.5.0) lib/sequel/connection_pool.rb:112:in `hold' > > sequel (3.5.0) lib/sequel/database.rb:482:in `synchronize' > > sequel (3.5.0) lib/sequel/adapters/odbc.rb:49:in `execute' > > sequel (3.5.0) lib/sequel/dataset.rb:334:in `execute' > > etc... > > > And I was wondering what the most efficient way to handle this kind of > > exception would be. I would like to drop the connection, get a new > > connection and try again when this happens. But not sure how to do > > that. > > The Sequel way to handle it is to have the ODBC adapter recognize the > error and raise a Sequel::DatabaseDisconnectError instead. > Unfortunately, I'm not sure if the error you received is a general > ODBC error that applies to all databases, or one specific to > Pervasive. If the former, you could patch the ODBC adapter, similar > to how it is handled in the MySQL, PostgreSQL, and Oracle adapters. > If the latter, you'll have to add a Pervasive ODBC subadapter and > override methods where necessary (Sequel::ODBC::Database #run and/or > #execute). > > Jeremy -- You received this message because you are subscribed to the Google Groups "sequel-talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sequel-talk?hl=en.
