Free Database Libraries, SQL Servers, ODBC Drivers
Free drivers, servers, tools, source code, relational databases, & libraries
Free SQL Servers and Tools, ODBC Drivers, Database Libraries and Source Code
Looking for SQL Servers? ODBC drivers? SQL Tools? Source code for database libraries? Relational database management systems? ISAM (index sequential access method) libraries? Btrees? B+trees? This page contains numerous free drivers, servers, tools, libraries, source code, entire RDBMSes, etc.
Those looking for non-SQL databases can find the list of such databases on the Free / Open Source Non-SQL Database Servers and Engines page. In addition, if you are looking for books from which to learn SQL, you may want to search Amazon.com for SQL books.
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).
- 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.
- 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).
- 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 in Turbo 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.
MariaDB is an open source fork (spinoff) of MySQL and is a drop-in replacement of the matching version number of the latter. (By this, I mean that version 5.1 of MariaDB is compatible with 5.1 of MySQL, 5.2 is compatible with 5.2 of MySQL, etc.) It is maintained by the original developers of MySQL, and it was created because of fears that Oracle (the new owners of MySQL) might make the original closed source. Even the closed source features of the MySQL 5.5 Enterprise Edition can be found in MariaDB as open source. Like MySQL, MariaDB is a relational database server with an SQL interface. It is licensed under the GPL, LGPL or BSD. Binary packages are available for Windows and Linux.
- MySQL Community Server
MySQL is an 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 Express Edition
The Microsoft SQL Server Express Edition is the free version of Microsoft's SQL Server. You are limited to use on a computer with only 1 CPU socket or 4 cores (whichever is lesser), 10 GB of storage, a subset of management tools available, and possibly other restrictions.
- 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 the Free 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.
- 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".
- 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.
- UnixODBC Free ODBC
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.
The database servers and engines previously listed in this section have been moved to their own page. Please see the Free / Open Source Non-SQL Database Servers and Engines page for the list.
How to Link to This Page
It will appear on your page as: