jopen 6年前


OCILIB - C Wrapper for Oracle OCI

OCILib is an open source, platform-independant library that you can use to access Oracle databases. It encapsulates the Oracle Call Interface ("OCI"), which is a low-level API provided by Oracle. The library is written in ISO C, and is licensed under the GNU LGPL. It features Unicode support, multi-row fetching, binding array interface for fast and massive bulk operations, reusuable statements, global transactions, cursors, named types, PL/SQL blocks, Ref cursors and nested tables, date/time management, hash table support, etc. The library can be linked statically or dynamically (as a shared library).

Datareel Database C++ Library

This is a collection of C/C++ libraries that purportedly "simplifies complex time-consuming database, socket, multithreaded programming tasks". It supports the Windows and Unix platforms.


SQLite is a C library with an embeddable SQL database engine. It implements most of SQL92, stores the entire database in a single file, supports databases up to 2 terabytes in size, has bindings for many programming languages (download separately), supports ACID (atomic, consistent, isolated, durable) transactions, etc. Sources for the library is available and is in the public domain.

OTL - Oracle, Odbc and DB2-CLI Template Library

OTL is a C++ template library. It is a wrapper around the Oracle, ODBC and DB2-CLI database APIs. When you use the library, it is expanded into direct database API function calls. The code is ANSI C++ compliant, and is integrated with the Standard Template Library (STL). OTL supports Oracle 7, Oracle 8, Oracle 8i, Oracle 9i, DB2, ODBC 3.0 and ODBC 2.5 compliant sources in Windows and Unix (such as Oracle, MS SQL Server, Sybase, MySQL, DB2, Interbase, PostgreSQL, etc).

TurboPower B-Tree Filer

B-Tree Filer is a library of database routines (probably using b-trees as its name implies) for either MSDOS or Windows. Written in Object Pascal, it may be used inTurbo Pascal or Delphi programs.

Database Template Library

This C++ library makes ODBC record sets look like an STL container. You can move through it using standard STL iterators. The author informs me that the library is free and licenced under the same terms as the SGI STL.


Xbase is "a collection of specifications, programs, utilities and a C++ class library for manipulating Xbase type datafiles and indices." That is, if you deal with dBase compatible files, such as those produced by dBase, Clipper, FoxPro, etc, this might be the library for you. It supports the DBF files, dBase's NDX index files, Clipper's NTX files, DBT memo files, and possibly others.

GQL C++ Library: Generic SQL Interface

GQL is a C++ library that provides an abstraction of an SQL database. It provides you with a portable API that you can use with most SQL databases. A wrapper for Python is currently also in the works.

FreeODBC++ ODBC Library

If you are looking for a free ODBC library, you might want to take a look at Libodbc++. This C++ class library provides a convenient means for you to access SQL databases. It supports a subset of JDBC 2.0, and it is distributed under the GNU LGPL.

Dxstore Database Management System

Dx is a C/C++ Linux and FreeBSD database that you can embed in your applications. It uses an extensible hashing algorithm for indexing, much like DBM, NDBM and GDBM, and can support databases spread over multiple file systems. Among its other features are flexible methods of storing and retrieving data, a sophisticated data editing facility, a small memory footprint, etc.

Mariposa DBMS

This free distributed database management system (with a BSD-like licence) runs on DEC Alpha running DEC OSF/1.3.2. It is specially designed for wide area networks, and allows DBMSs which are far apart and under different administrative domains to work together to process queries. It is scaleable, provides local autonomy, data mobility, easily configurable and does not force a global synchronisation. It also supports the paradigm where processing sites buy and sell data and query processing services.

Libsqlora8 Library

Libsqlora8 is a C library that hides much of the complexity of accessing Oracle databases, allowing you to use a more simplified interface. The library is provided in source code form. It works on Linux; I am not sure if other operating systems are also supported. Update: the author has now put a note on the main page that the library is deprecated.


DB-2 Express-C

IBM's DB-2 Express-C is a "full-function relational and XML data server". As I understand it, you can deploy it, develop for it and distribute it free of charge (although you should read their licence terms for details to verify this). The free server can run on a system with at maximum 2 cores and 2 GB of RAM. There are other limitations to the free edition (eg, no support for replication, etc), so you should read their documentation for details. Operating systems supported includeLinux (32 bit, 64 bit and PowerPC),Windows (32 bit and 64 bit), Solaris (64 bit Intel) and Mac OS X (64 bit Intel).

MySQL Community Edition

MySQL is a SQL database server which has been ported to a number of operating systems, including Linux and Win32. An ODBC driver for the server is also available. MySQL is free unless you are selling a product that includes the mySQL server. If you're thinking of using this database server, you may be interested in the article How to Install MySQL on Windows Vista and Configure PHP 5 to Use It. Those looking for a book on MySQL may want to check out Paul Dubois' MySQL, which seems to come highly recommended by many people.

Microsoft SQL Server 2008 Express Edition

The Microsoft SQL Server 2008 Express Edition is the free version of Microsoft's SQL Server. You need to have Windows XP, Windows Server 2003, Windows Server 2008 or Vista to run it. You are limited to running the server on a machine with only 1 CPU and 1 GB of RAM, and each database is restricted to 4 GB of data.

Firebird Relational Database

FirebirdSQL is an open source relational database based on the Interbase 6 engine. It runs on Linux, Windows, and a number of Unix systems.

TurboPower FlashFiler

The TurboPower FlashFiler is a free client/server database engine that supports SQL queries, huge tables, huge BLOB (binary large objects) support (up to 2GB), concurrent transactions, server plug-ins, server monitors and extenders, login security, encrypted tables, timeout handling, etc. It is a multi-threaded server that can handle multiple requests from many clients simultaneously. You can also run it as a Windows service under Windows NT/2000. TurboPower's libraries and components work with Borland Delphi and C++ Builder.

H2 Database Engine

H2 is a free SQL engine written in Java. It supports embedded, server and cluster modes, JDBC and ODBC (partial) API, etc. It works on platforms that support Java, inluding Windows and Linux. The source code can be compiled with GCJ as well (see theFree Java Compilers page for more information about the GNU Compiler for Java).

HSQLDB - Java SQL Database Engine

HSQLDB is a Java SQL relational database engine. It has a JDBC driver and supports a subset of ANSI-92 SQL with SQL 99 and 2003 enhancements. It supports both in-memory and disk-based tables, and embedded and server modes.


This is DBMS library and SQL server that supports the full ANSI/ISO SQL 1992 Standard and some SQL-99 features. You can access the database directly (via its DLLs) or via ODBC. It is released under the Mozilla Public License and may be used for commercial purposes. The package works under Windows.

GNU DBMS and SQL Server

According to its web site, the GNU SQL Server is a free relational database management system that supports the full SQL89 language and some of the SQL92 extensions. It features multiuser access and transaction isolation based on predictive locks. Like all things GNU, source code is included and released under the GNU General Public License. It works under Unix-type systems.

PostgreSQL Object-Relational DBMS and SQL Server

PostgreSQL is an object-relational database system with strong conformance with the ANSI SQL:2008 standard. It is ACID compliant, that is, the software ensures that transactions are atomic, consistent, isolated and durable. It runs on Windows, Mac OS X, Linux, and numerous Unix variants, and has native programming interfaces for C, C++, Java, Perl, Python, Ruby, ODBC, Tcl, the .NET framework languages, etc. It is released under its own open source licence, the "PostgreSQL License".

免费ODBC 和 JDBC 驱动器

OpenLink iODBC Driver Manager and ODBC SDK

The iODBC driver manager supports ODBC 3.X API. It is an open source release for Linux and Mac OS X. It is apparently also portable to Solaris, HP-UX, AIX, SCO OpenServer, SCO Unixware, SGI IRIX (Mips ABI), Digital Unix, DG-UX, Dynix/PTX, BSDI, and FreeBSD, although binaries don't seem to be available from the download page at the time I wrote this.


The UnixODBC Project provides developers with a free ODBC kit distributed with source code under GNU GPL and LGPL (the LGPL applies to the library source code so that presumably you can build commercial applications with them without releasing your source code if you want). As is obvious from its name, it is designed for Unix systems, and includes ODBC sample drivers, a ODBC driver manager, a GUI administrative tool (for KDE), a data source explorer, etc. It looks like Linux is the primary platform that is supported, although there are ports for FreeBSD as well.

XTG's Interbase 6 iODBC Driver

This is the Interbase 6 and Firebird ODBC driver. It aims to conform to the ODBC 3.X API CORE. It currently only runs on Win32. You may use the driver free in both personal and commercial software. Source code is available under the GNU LGPL. The software is no longer supported.