Oracle Call Interface (OCI) is an application programming interface (API) that lets applications written in C or C++ interact with Oracle Database. OCI gives your programs the capability to perform the full range of database operations that are possible with Oracle Database, including SQL statement processing and object manipulation.
This guide is intended for programmers developing new applications or converting existing applications to run in the Oracle environment. This comprehensive treatment of OCI will also be valuable to systems analysts, project managers, and others interested in the development of database applications.
This guide assumes that you have a working knowledge of application programming using C. Readers should also be familiar with the use of Structured Query Language (SQL) to access information in relational database systems. In addition, some sections of this guide also assume a knowledge of the basic concepts of object-oriented programming.
For information about basic Oracle concepts, see Oracle Database Concepts.
For information about the differences between the Standard Edition and the Enterprise Edition and all the features and options that are available to you, see Oracle Database New Features Guide.
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at
Oracle customers have access to electronic support through My Oracle Support. For information, visit
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.
Many of the examples in this book use the sample schemas, which are installed by default when you select the Basic Installation option with an Oracle Database installation. See Oracle Database Sample Schemas for information about how these schemas were created and how you can use them.
To download free release notes, installation documentation, white papers, or other collateral, please visit the Oracle Technology Network (OTN). You must register online before using OTN; registration is free and can be done at
If you have a user name and password for OTN, then you can go directly to the documentation section of the OTN Web site at
The Oracle Call Interface Programmer's Guide does not contain all information that describes the features and functionality of OCI in the Standard Edition and the Enterprise Edition products.
For C++ programmers, the Oracle C++ Call Interface provides OCI functionality for C++ programs and lets you manipulate database objects (of user-defined types) as C++ objects.
For other sources of information about OCI:
For information about the C++ Call interface, refer to Oracle C++ Call Interface Programmer's Guide.
For more information about cartridge services, and the OCI calls pertaining to development of data cartridges, refer to Oracle Database Data Cartridge Developer's Guide.
For more information about OCI calls pertaining to National Language and Globalization Support, see Oracle Database Globalization Support Guide.
For more information about OCI calls pertaining to Advanced Queuing, see Oracle Streams Advanced Queuing User's Guide.
For information about using OCI with the XA library, see Oracle Database Advanced Application Developer's Guide.
For more information about using OCI calls to manipulate LOBs, including code examples, see Oracle Database SecureFiles and Large Objects Developer's Guide.
For a more detailed explanation of object types, see Oracle Database Object-Relational Developer's Guide.
The following text conventions are used in this document:
|boldface||Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.|
|italic||Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.|
||Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.|