Oracle C 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 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 FAQ

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