Mail Archive Home | architecture List | Febuary 2004 Index
| <-- Date Index --> | <-- Thread Index --> |
This is right... and of course, using as much as possible JDBC1 (and not advanced functions) is wise.-----Ursprüngliche Nachricht----- Von: Emmanuel Cecchet [mailto:Emmanuel.Cecchet@xxxxxxxxxxxx] Gesendet: Freitag, 30. Jänner 2004 19:16 An: Madl Alfred Cc: c-jdbc@xxxxxxxxxxxxx; Raicevic Igor; ObjectWeb Architecture Betreff: Re: [c-jdbc] Differences in behaviour of JDBC drivers Hi Alfred, Some other problems we noticed (both with RmiJdbc and other experiences) : - Some drivers do not cache column values (for example, if you call getString() twice on the same column, the 2nd will fail because the value was consumed !) - Some drivers do not properly handle concurrent accesses (they are not thread safe; we experienced that frequently with the JDBC/ODBC bridge, for example with MS Access). - There are differences in the way stored procedures are called (Oracle, for example, has specific types and/or ways to handle errors). - Some bugs require workarounds (eg. some versions of sybase drivers require a "commit()" to be issued on connections before calling "setAutoCommit()"..., we also had problems with setLockModeToWait() on Informix, and with some non-standard method names with Oracle, that required workarounds...) - XA extensions also often have specific behaviours... For the 1st 2 points, our ExperShop product provides configuration properties : - We undertake the caching if the driver does not - We synchronize the access if the driver is not thread-safe (of course, doing so makes the performance bad !) Note that the "clean" way of doing that would rather be to provide specific "wrappers" for specific drivers (eg. an Oracle wrapper, a MySQL wrapper...), and a default (configurable ?) one for any driver without a wrapper. Regards, Pierre-Yves Gibello - ExperLog |
| <-- Date Index --> | <-- Thread Index --> |
Powered by MHonArc.
Copyright © 1999-2005, ObjectWeb Consortium | contact | webmaster.