C++ Framework Libraries for Programming Popular databases

I am interested in your recommendation of any open source, cross-platform C++ libraries designed for programming the major databases (Oracle, MySql, Postgres, MS Access, Sybase, etc). Boost does not provide any such database/sql library framework for C++. If you can point me toward a source or sources that do offer such a framework, and possibly one(s) the Boost people favor, it would be very much appreciated. Primarily, I am developing code for Windows and Unix/Linux.

2009/6/10 biolaser
I am interested in your recommendation of any open source, cross-platform C++ libraries designed for programming the major databases (Oracle, MySql, Postgres, MS Access, Sybase, etc). Boost does not provide any such database/sql library framework for C++. If you can point me toward a source or sources that do offer such a framework, and possibly one(s) the Boost people favor, it would be very much appreciated. Primarily, I am developing code for Windows and Unix/Linux.
Here's one under the Boost license about which I've heard good things: http://soci.sourceforge.net/ ~ Scott

Scott McMurray wrote:
Here's one under the Boost license about which I've heard good things: Which reminds me ... any aftermath of Boost::rdb from boost'con 09 ?
-- ___________________________________________ Joel Falcou - Assistant Professor PARALL Team - LRI - Universite Paris Sud XI Tel : (+33)1 69 15 66 35

I am using OTL and also developing ORM layer (active record -like) on
top of it with boost's help (that I plan to release in public domain)
I believe, it supports Oracle, DB2 and MSSQL via its native drivers (and
MSSQL on unix via ODBC tls)
and the rest of the DBs via ODBC
(I am using it for postgres ODBC for now)
The advantage of soci vs OTL for Postgres is that soci uses native PG
driver for PG, however soci does not appear to support DB2/cli an ODBC
based drivers (MS DBs)
I think it will be long time before C++ or boost will have a standard
approach to DB support, unfortunately. Lack of reflection in C++ is
a major issue (I had to implement my own reflection mechanism for my
ORM).
Vlad
On Wed, 10 Jun 2009 11:04 -0700, "Scott McMurray"
2009/6/10 biolaser
: I am interested in your recommendation of any open source, cross-platform C++ libraries designed for programming the major databases (Oracle, MySql, Postgres, MS Access, Sybase, etc). Boost does not provide any such database/sql library framework for C++. If you can point me toward a source or sources that do offer such a framework, and possibly one(s) the Boost people favor, it would be very much appreciated. Primarily, I am developing code for Windows and Unix/Linux.
Here's one under the Boost license about which I've heard good things: http://soci.sourceforge.net/
~ Scott _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users -- V S P toreason@fastmail.fm
-- http://www.fastmail.fm - IMAP accessible web-mail

V S P :
I think it will be long time before C++ or boost will have a standard approach to DB support, unfortunately. Lack of reflection in C++ is a major issue (I had to implement my own reflection mechanism for my ORM).
Where can I find your ORM and reflection implementation? I am really interesting about these two.

On 2009-06-10T11:04:47, Scott McMurray wrote:
Here's one under the Boost license about which I've heard good things: http://soci.sourceforge.net/
I had written a small web application using GDA (C), and when the changed the API between versions I tried for a few hours to figure out to change my application. The documentation was not especially helpful to me. In any case I ended up porting to SOCI at a fraction of the time I spent with GDA. It is unreal how much better the (C++) interface is. SOCI also changed versions, and the only gotcha I hit was having to download the source package for the documentation as web site only covered the current version. If you only need PostgreSQL than libpgxx http://pqxx.org/development/libpqxx/ is workable as well. /Allan -- Allan Wind Life Integrity, LLC http://lifeintegrity.com

biolaser skrev:
I am interested in your recommendation of any open source, cross-platform C++ libraries designed for programming the major databases (Oracle, MySql, Postgres, MS Access, Sybase, etc). Boost does not provide any such database/sql library framework for C++. If you can point me toward a source or sources that do offer such a framework, and possibly one(s) the Boost people favor, it would be very much appreciated. Primarily, I am developing code for Windows and Unix/Linux.
I'm currently using the odbc based DTL (http://dtemplatelib.sourceforge.net/) and have been using it with SQLite/Oracle (Windows) and MySQL (Windows + Linux). Great performance and the code gets really neat. I'm sold. Would be a nice part of boost actually :) /Rob

I recently took part in a project to create a full POS solution for a major European retailer. The main requirement was software uniformity to compensate a wild range of legacy installed hardware. We have successfully used a library called DTL, which uses concepts like containers and iterators as a higher level interface to a mundane ODBC driver, in our case targeting a Postgres database. DTL isn't perfect, of course. We still have to cope with the infamous "impedance mismatch", and the C++ language, by its very nature, make the gap even larger. Well, what I want to say is that, if I was to develop a Boost.DB lib, I would take a very careful look at DTL, to get as close as possible to the relational paradigm. Perhaps even closer than Java. http://dtemplatelib.sourceforge.net/ Regards, Kenneth biolaser wrote:
I am interested in your recommendation of any open source, cross-platform C++ libraries designed for programming the major databases (Oracle, MySql, Postgres, MS Access, Sybase, etc). Boost does not provide any such database/sql library framework for C++. If you can point me toward a source or sources that do offer such a framework, and possibly one(s) the Boost people favor, it would be very much appreciated. Primarily, I am developing code for Windows and Unix/Linux.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- View this message in context: http://www.nabble.com/C%2B%2B-Framework-Libraries-for-Programming-Popular-da... Sent from the Boost - Users mailing list archive at Nabble.com.

I'd recommend taking a look at libpqxx it's completely C++ semantics and very powerful. It's for postgresql but the design is great. Regards. muhammadchang wrote:
I recently took part in a project to create a full POS solution for a major European retailer. The main requirement was software uniformity to compensate a wild range of legacy installed hardware. We have successfully used a library called DTL, which uses concepts like containers and iterators as a higher level interface to a mundane ODBC driver, in our case targeting a Postgres database. DTL isn't perfect, of course. We still have to cope with the infamous "impedance mismatch", and the C++ language, by its very nature, make the gap even larger. Well, what I want to say is that, if I was to develop a Boost.DB lib, I would take a very careful look at DTL, to get as close as possible to the relational paradigm. Perhaps even closer than Java.
http://dtemplatelib.sourceforge.net/
Regards, Kenneth
biolaser wrote:
I am interested in your recommendation of any open source, cross-platform C++ libraries designed for programming the major databases (Oracle, MySql, Postgres, MS Access, Sybase, etc). Boost does not provide any such database/sql library framework for C++. If you can point me toward a source or sources that do offer such a framework, and possibly one(s) the Boost people favor, it would be very much appreciated. Primarily, I am developing code for Windows and Unix/Linux.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (9)
-
Allan Wind
-
biolaser
-
joel
-
Konstantin Litvinenko
-
muhammadchang
-
plarroy
-
Robert Bielik
-
Scott McMurray
-
V S P