Content deleted Content added
Jonah.harris (talk | contribs) Removed link to Jeff Ullman's page as it contained no OCI information; only Pro*C. |
Jonah.harris (talk | contribs) Added history and additional useful information and resources. |
||
Line 1:
In computing, the '''Oracle Call Interface''' '''(OCI)''' consists of a set of
==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 (communication)|interpreter]]" between applications and the low-level database network protocol.
==History==
Oracle Corporation also provides an enhanced [[Library (computing) | library]] (for programs written in C++) called the [http://www.oracle.com/technology/tech/oci/occi/index.html '''Oracle ''C++'' Call Interface'''] ('''OCCI'''). The OCCI provides an [[object orientation | object-oriented]] interface with the [[object-relational]] features of the Oracle database.▼
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.
==Implementations==
OCI is so popular that, in addition to [[Oracle Corporation|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==
▲OCI also appears in Oracle environments in the form of Oracle's [[JDBC driver|Type-II JDBC Driver]] (part-Java, part native). Similarly, [[Oracle Corporation|Oracle]] also provides an enhanced [[Library (computing) | library]]
Due to the complexity of the OCI API, several easier-to-use OCI wrapper libraries also exist, such as the open-source [http://www.poitschke.de/libsqlora8/ libsqlora8] library.
== External links==
|