Oracle Call Interface
   HOME

TheInfoList



OR:

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 multi-model database management system produced and marketed by Oracle Corporation. It is a database commonly used for running online t ...
. 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 since ...
or SQL to query, access, and manipulate data. The OCI library, based on Oracle's undocumented User Programmatic Interface (UPI), acts as an " interpreter" between applications and the low-level database network protocol.


History

Oracle Corporation Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas. In 2020, Oracle was the third-largest software company in the world by revenue and market capitalization. The company sells da ...
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, w ...
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 agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination. Description The word '' ...
, 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 EnterpriseDB (EDB), a privately held company based in Massachusetts, provides software and services based on the open-source database PostgreSQL (also known as Postgres), and is one of the largest contributors to Postgres. EDB develops and int ...
, 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++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
library A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vir ...
, Oracle C++ Call Interface (OCCI), which provides an
object-oriented Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pro ...
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), an API designed by Microsoft, allows accessing data from a variety of sources in a uniform manner. The API provides a set of interfaces implemented using ...
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 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 FAQ

Public OCI Support Forum (OTN)
Oracle software {{database-software-stub