Jump to content

Oracle Call Interface

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Jonah.harris (talk | contribs) at 15:10, 17 November 2007 (Fixed link naming for OCILIB to comply with Oracle Corporation's allowable trademark usage guidelines.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computing, the Oracle Call Interface (OCI) consists of a set of C-language software APIs which provide a low-level interface to the Oracle database.

Overview

OCI offers a procedural API for not only performing certain database administration tasks (such as system startup and shutdown), but also for using PL/SQL or SQL to query, access, and manipulate data. The OCI library, based on Oracle's undocumented User Programmatic Interface (UPI), acts as an "interpreter" between applications and the low-level database network protocol.

History

OCI was released with Oracle Database version 6 in 1988. At that time it was called HLI, the Host Language Interface. As HLI (and subsequently OCI) were wrappers for UPI, their original naming conventions were quite similar to the UPI calls they were based upon. An example is the rollback statement; the call upirol in UPI became orol in OCI.

Later, in Oracle8, OCI calls were given better, more descriptive names; orol became OCITransRollback. Subsequent improvements have been made in every version of OCI, including 11g. Oracle claims that OCI is So reliable that every SQL statement in the Oracle Database executes with OCI.

Implementations

OCI is so popular that, in addition to Oracle, several other vendors have implemented their own libraries compatible with the OCI API. To date, OCI-compatible libraries exist for ANTs Data Server, EnterpriseDB, and the Linter SQL RDBMS.

OCI-based Libraries

Several libraries are based on top of OCI, including:

Due to the complexity of the OCI API, several easier-to-use OCI wrapper libraries also exist, such as: