liblookdb

Introduction

liblookdb is a C++ library that provides an interface to several common Database Management Systems (DBMS). It enables the programmer to write application code that can be built and run unchanged on a variety of platforms and against several DBMS. It is currently in use in production code on Win32, GNU/Linux and Compaq Tru64 UNIX, against Ingres II (and older versions), Oracle 8i, PostgreSQL and ODBC (on Win32 only at present). An application can choose which DBMS interface layer to load at runtime.

liblookdb is distributed as open source software under the GNU LGPL license.

All trademarks are acknowledged.

This project is the work of a number of developers at LOOK Systems. The project was opened at Source Forge on 4 July 2001. The source code was first published 6 July 2001. The current version is 0.2.0, released 17 January 2002.

SourceForge Logo

Requirements

In order to use liblookdb you need a reasonably modern C++ compiler and standard library, plus a development environment for at least one of the supported DBMS platforms. For UNIX and GNU/Linux, LOOK Systems uses GCC, version 2.95.2 or later. (liblookdb has been built and tested with GCC 3.0.1 on Linux without problem, but a GCC 3.0.x build has not been used in an production environment, at the time of writing.) For Win32, Microsoft Visual C++ 5.0 and above will suffice. (Project files for 5.0 are supplied.)

Currently Supported Platforms

UNIX and GNU/LINUX

N.B. The Perl/DBI interface provides access to a raft of additional DBMS. However, this interface is new in version 0.2.0 and has not been used in production code.

Win32

Any ODBC driver, but especially the following.

Evolution

liblookdb started life as a database abstraction layer for a C++ application running against Ingres on what was then Digital UNIX. The restrictions imposed by using ODBC on this platform were not acceptable for a number of reasons, including runtime cost. This in turn ruled out the possibility of using open source libraries which depended on ODBC.

The library was ported to the Win32/ODBC environment, and a number of further applications were developed with each application being capable of running on both platforms. One application was deployed both on Digital UNIX and Ingres and on Win32/ODBC and Microsoft SQL Server.

Subsequently, versions of the database interface layer have been written for the open source database PostgreSQL and for Oracle using the native OCI library.

Developers at LOOK Systems are very pleased with the flexibility and liberty offered by liblookdb. LOOK Systems is pleased to offer liblookdb to the open source community.

Roadmap

Future Directions

liblookdb developers are keen to provide support for more DBMS on UNIX and GNU/Linux possibly including the following.

Improvements to configurability of the build process need to be made.

Features

The main features of the liblookdb library are as follows. You can also browse the Programmer's Reference.

A Sample Application And A Handy Utility

A pair of utility applications dbexport and dbimport are also provided with the liblookdb library. These provide a practical example of how to use the library. Furthermore, these applications are very useful in themselves, providing a means to easily move data from one DBMS to another or to export data for importing into a spreadsheet for example.

Download and Contacts

Download liblookdb source code, or browse the source code online.

CVS browsing and access details, and information about mailing lists can all be found on the SourceForge project page.

Apart from the mailing lists, you can also contact liblookdb developers at liblookdb@looksystems.co.uk.