In computing, the Oracle Call Interface (OCI) consists of a set of
C-language
software APIs which provide an interface to the
Oracle database
Oracle Database (commonly referred to as Oracle DBMS, Oracle Autonomous Database, or simply as Oracle) is a proprietary multi-model database management system produced and marketed by Oracle Corporation.
It is a database commonly used for ru ...
.
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
PL/SQL (Procedural Language for SQL) is Oracle Corporation's procedural extension for SQL and the Oracle relational database. PL/SQL is available in Oracle Database (since version 6 - stored PL/SQL procedures/functions/packages/triggers sinc ...
or
SQL
Structured Query Language (SQL) (pronounced ''S-Q-L''; or alternatively as "sequel")
is a domain-specific language used to manage data, especially in a relational database management system (RDBMS). It is particularly useful in handling s ...
to query, access, and manipulate data. The OCI library, based on Oracle's undocumented User Programmatic Interface (UPI), acts as an "
interpreter
Interpreting is translation from a spoken or signed language into another language, usually in real time to facilitate live communication. It is distinguished from the translation of a written text, which can be more deliberative and make use o ...
" between applications and the low-level database network protocol.
History
Oracle Corporation
Oracle Corporation is an American Multinational corporation, multinational computer technology company headquartered in Austin, Texas. Co-founded in 1977 in Santa Clara, California, by Larry Ellison, who remains executive chairman, Oracle was ...
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
In political science, rollback is the strategy of forcing a change in the major policies of a state, usually by replacing its ruling regime. It contrasts with containment, which means preventing the expansion of that state; and with détente, ...
statement: the call
upirol
in UPI became
orol
in OCI.
Later, in Oracle8 (released in 1997), OCI calls acquired more descriptive names;
orol
became
OCITransRollback
. Subsequent improvements have been made in every version of OCI, including 11g (released in 2007). 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
An oracle is a person or thing considered to provide insight, wise counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. If done through occultic means, it is a form of divination.
Descript ...
, several other vendors have implemented their own libraries compatible with the OCI API. To date, OCI-compatible libraries exist for the ANTs Data Server (ADS),
EnterpriseDB, and the
Linter SQL RDBMS
OCI-based libraries
Several libraries are based on top of OCI, including:
* Oracle's
Type-II JDBC Driver (part-Java, part native)
* Oracle's enhanced
C++ library
A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
,
Oracle C++ Call Interface (OCCI), which provides an
object-oriented
Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impleme ...
interface with the
object-relational features of the Oracle database.
* Oracle's
OLE DB
OLE DB (''Object Linking and Embedding, Database'', sometimes written as OLEDB or OLE-DB) is an Application programming interface, API designed by Microsoft that allows accessing data from a variety of sources in a uniform manner. The API provid ...
Driver
* Oracle's
ODBC
In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An ...
Driver
* Oracle's
.NET
The .NET platform (pronounced as "''dot net"'') is a free and open-source, managed code, managed computer software framework for Microsoft Windows, Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft emplo ...
Data Provider, ODP.NET
* Microsoft's
ODBC
In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An ...
Driver for Oracle
* Easysoft's
ODBC
In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An ...
-Oracle Driver
* Trolltech's
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:
* the open-source libsqlora8 library (deprecated).
* the open-source
OCILIB library.
* the
Open BSD licensed Oracle Template Library OTL library.
References
External links
*
Oracle Call Interface FAQPublic OCI Support Forum (OTN)
Oracle software
{{database-software-stub