The Oracle Call Interface (OCI) is an application programming interface (API) that allows applications written in C or C++ to interact with one or more Oracle database servers. OCI gives your programs the capability to perform the full range of database operations that are possible with an Oracle database server, 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.
Our goal is to make Oracle products, services, and supporting documentation accessible, with good usability, to the disabled community. To that end, our documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Accessibility standards will continue to evolve over time, and Oracle is actively engaged with other market-leading technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For more information, visit the Oracle Accessibility Program Web site at
Screen readers may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an otherwise empty line; however, some screen readers may not always read a line of text that consists solely of a bracket or brace.
This documentation may contain links to Web sites of other companies or organizations that Oracle does not own or control. Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites.
Oracle provides dedicated Text Telephone (TTY) access to Oracle Support Services within the United States of America 24 hours a day, seven days a week. For TTY support, call 800.446.2398.
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. Refer to Oracle Database Sample Schemas for information on how these schemas were created and how you can use them yourself.
Printed documentation is available for sale in the Oracle Store at
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 already 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 and Reference.
For information about using OCI with the XA library, see Oracle Database Application Developer's Guide - Fundamentals.
For more information about using OCI calls to manipulate LOBs, including code examples, see Oracle Database Application Developer's Guide - Large Objects.
For a more detailed explanation of object types, see Oracle Database Application Developer's Guide - Object-Relational Features.
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.|