
Jeff Garland <jeff <at> crystalclearsoftware.com> writes: [...]
Careful what you ask for It's been my dream for a couple years now to try and get all the folks interested in db access to work together to get a Boost library and then subsequently a standards proposal completed. I don't think my cajoling has led to anything of substance -- various folks have their own solutions they are happy with: DTL, OTL, native interfaces, whatever. The problem with this lack of standard in C++ is that since the efforts are divergent, there's not enough critical mass to build tools around any of the API's: which is frankly where, in my view, Java, Ruby, etc get much of their productivity advantages w.r.t. database access over C++.
I still think that the main problem is a lack of layering: everybody is focused on covering everything from the direct calls to RDBMS API's to their own favorite high level mechanism, where a million different approaches are possible, each sensible in its own context. What I feel is needed first and foremost is a lower level library that only abstracts away the details of the underlying RDBMS technology and the complexity of how these things are usually achieved in C, e.g. not forget the one essential call (essential to the DB API, not to the programmer!) without which nothing works.
SOCI seems to be the best bet at the moment, but nothing is set in stone.
SOCI has to its merit maturity and activity, which means a lot. I still think it tries to do a bit too much for a single library and I'm still not convinced about some of its ABI. In my opinion it would be a valid addition to Boost, but in its present form it is not a library I'd propose for addition to the standard. Unfortunately my own attempt at providing an alternative working prototype is progressing way too slowly :-( Cheers, Nicola Musatti