Oracle Call Interface: Difference between revisions

Content deleted Content added
FrescoBot (talk | contribs)
m Bot: link syntax/spacing and minor changes
Removing link(s) to "User Programmatic Interface": Removing links to deleted page User Programmatic Interface.
 
(12 intermediate revisions by 11 users not shown)
Line 1:
{{Multiple issues|
In computing, the '''Oracle Call Interface''' ('''OCI''') consists of a set of [[C (programming language)|C]]-language [[software]] [[application programming interface|APIs]] which provide an interface to the [[Oracle database]].
{{refimprove|date=January 2014}}
{{notability|date=January 2014}}
}}
 
In computing, the '''Oracle Call Interface''' ('''OCI''') consists of a set of [[C (programming language)|C]]-language [[software]] [[application programming interface|software APIs]] which provide an interface to the [[Oracle database]].
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.
 
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]] first released OCI (under the name HLI, the Host Language Interface) with Oracle Database version 6 in 1988. As HLI (and subsequently OCI) operated as wrappers for UPI, their original naming conventions closely resembled those of the UPI calls they were based upon. For example, the [[Rollback (data management)|rollback]] statement: the call <code>upirol</code> in UPI became <code>orol</code> in OCI.
 
Later, in Oracle8 (released in 1997), OCI calls acquired more descriptive names; <code>orol</code> became <code>OCITransRollback</code>. Subsequent improvements have been made in every version of OCI, including 11g (released in 2007). Oracle Corporation [http://www.oracle.com/technology/tech/oci/index.html claims] that OCI is "So reliable that every SQL statement in the Oracle Database executes with OCI".<ref>{{cite web |url=http://www.oracle.com/technology/tech/oci/index.html |url-status=dead |archive-url=https://web.archive.org/web/20040906134523/http://www.oracle.com/technology/tech/oci/index.html |archive-date=2004-09-06 |title=Oracle Call Interface}}</ref>
 
==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 the [http://www.ants.com/ ANTs Data Server]{{Citation needed|date=September 2010}} (ADS), [[EnterpriseDB]], and the [[Linter SQL RDBMS]].
 
==OCI-based libraries==
Line 15 ⟶ 20:
 
* Oracle's [[JDBC driver|Type-II JDBC Driver]] (part-Java, part native)
* Oracle's enhanced [[C++]] [[Library (computing)|library]], [http://www.oracle.com/technology/tech/oci/occi/index.html '''[Oracle ''C++'' Call Interface''']] ('''OCCI'''), which provides an [[Object-orientated programming|object-oriented]] interface with the [[object-relational]] features of the Oracle database.
* Oracle's [[OLEDB|OLE DB]] Driver
* Oracle's [[ODBC]] Driver
Line 25 ⟶ 30:
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 (deprecated).
* the open-source [[Ocilib|OCILIB]] library.
* the [[BSD license|Open BSD licensed]] [http://otl.sourceforge.net/ Oracle Template Library OTL] library.
 
==References==
{{Reflist}}
 
== External links ==
Line 38 ⟶ 46:
 
{{database-software-stub}}
 
[[bg:OCI]]
[[de:Oracle Call Interface]]