Oracle Call Interface: Difference between revisions

Content deleted Content added
refactoring
SmackBot (talk | contribs)
m Date maintenance tags and general fixes: build 495:
Line 1:
In computing, the '''Oracle Call Interface''' ('''OCI''') consists of a set of [[C_C (programming_languageprogramming language)|C]]-language [[software]] [[application programming interface|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.
 
==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".
 
==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]{{factCitation needed|date=September 2010}} (ADS), [[EnterpriseDB]], and the [[Linter SQL RDBMS]].
 
==OCI-based Libraries==
Line 15:
 
* 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 orientation | object-oriented]] interface with the [[object-relational]] features of the Oracle database.
* Oracle's [[OLEDB|OLE DB]] Driver
* Oracle's [[ODBC]] Driver
Line 21:
* Microsoft's [[ODBC]] Driver for Oracle
* Easysoft's [[ODBC]]-Oracle Driver
* Trolltech's [[Qt (toolkit)| Qt C++ toolkit]] OCI driver (QOCI)
 
Due to the complexity of the OCI API, several easier-to-use OCI wrapper libraries also exist, such as:
Line 29:
 
== External links==
* {{officialOfficial website|http://www.oracle.com/technetwork/database/features/oci/index-090945.html}}
* [http://www.orafaq.com/faqoci.htm Oracle Call Interface FAQ]
* [http://forums.oracle.com/forums/forum.jspa?forumID=67&start=0 Public OCI Support Forum (OTN)]
 
[[Category:Oracle software]]
 
 
{{database-software-stub}}
 
[[bg:OCI]]
[[de:Oracle Call Interface]]
 
 
 
{{database-software-stub}}