From: Helen B. <he...@ii...> - 2010-11-22 07:35:50
|
At 07:29 PM 22/11/2010, Steffen Heil wrote: >> The driver cannot make the database engine do things that are not defined >> in the API. ... > >May or may not be true. >For example the JDBC driver supports updateable result sets that fwik are >not supported by the API. Usually, a *native* interface achieves this by holding a FOR UPDATE cursor open that is sychronized to the output that it holds in the buffer for the client. The Jaybird driver and the native IBObjects (for Delphi) are the only ones I know that do this currently. A native interface is planned for Python, too. ODBC is the antithesis of a "native interface", in that it provides a lowest-common-denominator of functionality for multi-layered applications that want to treat divers data stores generically and independently of the application's host language. >For the original question: Connection pooling *COULD* be done in the odbc >layer, but I agree, that's not a good place for that. The client layer is not the appropriate place for 2-tier apps but I think it should be feasible, at least, to incorporate an optional "uber-layer" with a connection-pooling interface for n-tier server applications to hook into. Helen |