Call Level Interface

The Call Level Interface (CLI) is an application programming interface (API) and software standard to embed Structured Query Language (SQL) code in a host program as defined in a joint standard by the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC): ISO/IEC 9075-3:2003. The Call Level Interface defines how a program should send SQL queries to the database management system (DBMS) and how the returned recordsets should be handled by the application in a consistent way. Developed in the early 1990s, the API was defined only for the programming languages C and COBOL.

The interface is part of what The Open Group, publishes in a part of the X/Open Portability Guide, termed the Common Application Environment, which is intended to be a wide standard for programming open applications, i.e., applications from different programming teams and different vendors that can interoperate efficiently. SQL/CLI provides an international standard implementation-independent CLI to access SQL databases. Client–server tools can easily access databases through dynamic-link libraries (DLL). It supports and encourages a rich set of client–server tools.

The most widespread use of the CLI standard is the basis of the Open Database Connectivity (ODBC) specification, which is widely used to allow applications to transparently access database systems from different vendors. The current version of the API, ODBC 3.52, incorporates features from both the ISO and X/Open standards. Examples of languages that support Call Level Interface are ANSI C, C#, Visual Basic .NET (VB.NET), Java, Pascal, and Fortran.

History
The work with the Call Level Interface began in a subcommittee of the US-based SQL Access Group (SAG)  In 1992, it was initially published and marketed as Microsoft's ODBC API. The CLI specification was submitted as to the ISO and American National Standards Institute (ANSI) standards committees in 1993. The standard has the book number ISBN 1-85912-081-4 and the internal document number is C451.

ISO SQL/CLI is an addendum to 1992 SQL standard (SQL-92). It was completed as ISO standard ISO/IEC 9075-3:1995 Information technology—Database languages—SQL—Part 3: Call-Level Interface (SQL/CLI). The current SQL/CLI effort is adding support for SQL3.

In the fourth quarter of 1994, control over the standard was transferred to the X/Open Company, which significantly expanded and updated it. The X/Open CLI interface is a superset of the ISO SQL CLI.