History of Portable Interfaces

Embedded SQL

In the early days of relational database and throughout the '80s, the only portable interface for applications was Embedded SQL. There was no common function API and no standard 4GL. Embedded SQL uses a language specific Precompiler. SQL commands are embedded in a host programming language, such as, C or COBOL. The Precompile translates the embedded commands into host language statements that use the native API of the database.

Originally, the defacto standard for Embedded SQL was IBM's DB2 implementation. It served as the basis of the first ANSI SQL in 1986. Unfortunately, ANSI SQL 86 and its revision in 1989 only defined a subset of Embedded SQL known as Static SQL. The DB2 implementation of Dynamic SQL continued as the defacto standard well into the '90s, serving as the basis for implementations like Oracle and FirstSQL.

Open Database API

In the '90s, the SQL Access Group (SAG) was formed for major vendors. SAG defined a portable database API for SQL. The SAG specification served as the basis of the Microsoft Open Database Connectivity (ODBC) specification.

A number of drivers were developed for ODBC, and it quickly became the defacto standard for SQL APIs. SAG has continued to refine their specification, and other vendors have implemented a competing standard - IDAPI, but ODBC far surpasses them in platforms and RDBMSs supported.

FirstSQL was one of the early supporters of ODBC. It provides an ODBC driver for each version of its engine - desktop and server. FirstSQL Embedded SQL also can connect to OEM ODBC drivers.

ODBC is a complicated but effective portable interface. What is ODBC? provides an overview of its capabilities. The Future of ODBC is a look ahead.

Return to Contents Page: Open Database Access and ODBC     Return to Issues Page

Copyright © 1998 FFE Software, Inc. All Rights Reserved WorldWide