Christopher B. Browne's Home Page
cbbrowne@gmail.com

4. "Middleware" - Interfaces to Databases

Many of these systems represent pure "interface packages" that allow one to interface some relational database system. Others are "web interfaces," some of which include a database "engine."

4.1. Database Access APIs and Protocols

There are a variety of methods in use today to access databases. Virtually all DBMSes define some "proprietary" access path, often using a C-based API. It is also common for DBMSes to support more generic access paths such as SQL-CLI or DRDA.

4.1.1. SQL-CLI or ODBC

4.1.2. Java - JDBC

The JDBC Data Access API has grown very popular for use in Java applications, allowing common access to almost any sort of tabular data source.

There are some 160-odd drivers for various SQL RDBMSes as well as other systems such as LDAP, xBASE , and some other non-relational database systems.

4.1.3. TDS - Tabular Data Stream

Sybase introduced TDS as

4.1.4. DRDA - Distributed Relational Database Architecture (DRDA)

IBM has introduced DRDA as a protocol for communications between diverse databases. It might be used as a transport for ODBC requests. Many of the major database systems support DRDA, including DB/2, Oracle, Sybase, Informix.

4.1.5. Other APIs, Libraries, and Protocols

  • Jsql

    Commercial software that connects to relational databases like MySql, Sybase, and Oracle and submits SQL queries and commands to the target databases.

  • Aubit 4GL

    A project to provide a GPL-licensed compiler compatible with code for Informix 4GL.

    Allows embedding C in your application code, uses ODBC to connect to databases, and provides presentation layers using ncurses and GTK.

  • MySQL Wrapper similar to MS "DAO"

  • PySQLite - interface to SQLite .

  • SQLObject

    Translates RDBMS table rows into Python objects; supports major DBMSes like PostgreSQL

  • Why QOF?

    Linas Vespas' "polemic" on the merits of using his QOF - Query Object Framework to do structured queries on data held by C/C++ objects. Part of the point is to defend the use of C over other languages...

4.2. Web-to-RDBMS Tools

4.3. Other Middleware

Google

If this was useful, let others know by an Affero rating

Contact me at cbbrowne@gmail.com