Oracle Call Interface


In computing, the Oracle Call Interface consists of a set of C-language software APIs which provide an interface to the Oracle database.
OCI offers a procedural API for not only performing certain database administration tasks, 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, acts as an "interpreter" between applications and the low-level database network protocol.

History

first released OCI with Oracle Database version 6 in 1988. As HLI operated as wrappers for UPI, their original naming conventions closely resembled those of the UPI calls they were based upon. For example, the rollback statement: the call upirol in UPI became orol in OCI.
Later, in Oracle8, OCI calls acquired more descriptive names; orol became OCITransRollback. Subsequent improvements have been made in every version of OCI, including 11g. Oracle Corporation 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 the , 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: