Oracle C++ Call Interface Programmer's Guide
Release 9.0.1

Part Number A89860-01
Go To Documentation Library
Go To Product List
Book List
Go To Table Of Contents
Go To Index

Master Index


Go to previous page Go to next page


The Oracle C++ Call Interface (OCCI) is an application programming interface (API) that allows applications written in C++ to interact with one or more Oracle database servers. OCCI gives your programs the ability to perform the full range of database operations that are possible with an Oracle database server, including SQL statement processing and object manipulation.

This preface contains these topics:


The Oracle C++ Call Interface Programmer's Guide is intended for programmers, system analysts, project managers, and other Oracle users who perform, or are interested in learning about, the following tasks:

To use this document, you need a basic understanding of object-oriented programming concepts, familiarity with the use of Structured Query Language (SQL), and a working knowledge of application development using C++.


This document contains:

PART I: OCCI Programming

Part 1 (Chapter 1 through Chapter 7) provides information about how to program with OCCI to build scalable application solutions that provide access to relational and object data in an Oracle database.

Chapter 1, "Introduction to OCCI"

This chapter introduces you to OCCI and describes special terms and typographical conventions that are used in describing OCCI.

Chapter 2, "Relational Programming"

This chapter gives you the basic concepts needed to develop an OCCI program. It discusses the essential steps each OCCI program must include, and how to retrieve and understand error messages

Chapter 3, "Object Programming"

This chapter provides an introduction to the concepts involved when using OCCI to access objects in an Oracle database server. The chapter includes a discussion of basic object concepts and object navigational access, and the basic structure of object-relational applications.

Chapter 4, "Datatypes"

This chapter discusses Oracle internal and external datatypes, and necessary data conversions.

Chapter 5, "Introduction to LOBs"

This chapter provides an intrduction to LOBs and the related classes and methods.

Chapter 6, "Metadata"

This chapter discusses how to use the MetaData() method to obtain information about schema objects and their associated elements.

Chapter 7, "How to Use the Object Type Translator Utility"

This chapter discusses the use of the Object Type Translator (OTT) to convert database object definitions to C++ representations for use in OCCI applications.

PART II: The Application Programmer's Interface Reference

Part 2 (Chapter 8) describes OCCI classes and methods.

Chapter 8, "OCCI Classes and Methods"

This chapter describes the OCCI classes and methods for C++.

PART III: Appendix

Part 3 (Appendix A) presents the OCCI demonstration programs.

Appendix A, "OCCI Demonstration Programs"

This appendix identifies the OCCI demonstration programs and provides the code for each.

Related Documentation

For more information, see these Oracle resources:

Many books in the documentation set use the sample schemas of the seed database, which is installed by default when you install Oracle. Refer to Oracle9i Sample Schemas for information on how these schemas were created and how you can use them yourself.

In North America, printed documentation is available for sale in the Oracle Store at

Customers in Europe, the Middle East, and Africa (EMEA) can purchase documentation from

Other customers can contact their Oracle representative to purchase printed documentation.

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 username and password for OTN, then you can go directly to the documentation section of the OTN Web site at


This section describes the conventions used in the text and code examples of this documentation set. It describes:

Conventions in Text

We use various conventions in text to help you more quickly identify special terms. The following table describes those conventions and provides examples of their use.

Convention  Meaning  Example 


Bold typeface indicates terms that are defined in the text or terms that appear in a glossary, or both. 

When you specify this clause, you create an index-organized table.  


Italic typeface indicates book titles or emphasis. 

Oracle9i Database Concepts

Ensure that the recovery catalog and target database do not reside on the same disk. 

UPPERCASE monospace (fixed-width font) 

Uppercase monospace typeface indicates elements supplied by the system. Such elements include parameters, privileges, datatypes, RMAN keywords, SQL keywords, SQL*Plus or utility commands, packages and methods, as well as system-supplied column names, database objects and structures, usernames, and roles. 

You can specify this clause only for a NUMBER column.

You can back up the database by using the BACKUP command.

Query the TABLE_NAME column in the USER_TABLES data dictionary view.


lowercase monospace (fixed-width font) 

Lowercase monospace typeface indicates executables, filenames, directory names, and sample user-supplied elements. Such elements include computer and database names, net service names, and connect identifiers, as well as user-supplied database objects and structures, column names, packages and classes, usernames and roles, program units, and parameter values.

Note: Some programmatic elements use a mixture of UPPERCASE and lowercase. Enter these elements as shown. 

Enter sqlplus to open SQL*Plus.

The password is specified in the orapwd file.

Back up the datafiles and control files in the /disk1/oracle/dbs directory.

The department_id, department_name, and location_id columns are in the hr.departments table.

Set the QUERY_REWRITE_ENABLED initialization parameter to true.

Connect as oe user.

The JRepUtil class implements these methods. 

lowercase monospace (fixed-width font) italic 

Lowercase monospace italic font represents placeholders or variables. 

You can specify the parallel_clause.

Run Uold_release.SQL where old_release refers to the release you installed prior to upgrading. 

Conventions in Code Examples

Code examples illustrate SQL, PL/SQL, SQL*Plus, or other command-line statements. They are displayed in a monospace (fixed-width) font and separated from normal text as shown in this example:

SELECT username FROM dba_users WHERE username = 'MIGRATE';

The following table describes typographic conventions used in code examples and provides examples of their use.

Convention  Meaning  Example 

[ ] 

Brackets enclose one or more optional items. Do not enter the brackets. 

DECIMAL (digits [ , precision ]) 

{ } 

Braces enclose two or more items, one of which is required. Do not enter the braces. 


A vertical bar represents a choice of two or more options within brackets or braces. Enter one of the options. Do not enter the vertical bar. 




Horizontal ellipsis points indicate either:

  • That we have omitted parts of the code that are not directly related to the example

  • That you can repeat a portion of the code


CREATE TABLE ... AS subquery;

SELECT col1, col2, ... , coln FROM employees; 



Vertical ellipsis points indicate that we have omitted several lines of code not directly related to the example. 


Other notation 

You must enter symbols other than brackets, braces, vertical bars, and ellipsis points as shown. 

acctbal NUMBER(11,2);

acct CONSTANT NUMBER(4) := 3; 


Italicized text indicates placeholders or variables for which you must supply particular values. 

CONNECT SYSTEM/system_password

DB_NAME = database_name 


Uppercase typeface indicates elements supplied by the system. We show these terms in uppercase in order to distinguish them from terms you define. Unless terms appear in brackets, enter them in the order and with the spelling shown. However, because these terms are not case sensitive, you can enter them in lowercase. 

SELECT last_name, employee_id FROM employees;


DROP TABLE hr.employees; 


Lowercase typeface indicates programmatic elements that you supply. For example, lowercase indicates names of tables, columns, or files.

Note: Some programmatic elements use a mixture of UPPERCASE and lowercase. Enter these elements as shown. 

SELECT last_name, employee_id FROM employees;

sqlplus hr/hr


Documentation Accessibility

Oracle's goal is to make our products, services, and supporting documentation accessible to the disabled community with good usability. 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. 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 additional information, visit the Oracle Accessibility Program Web site at

JAWS, a Windows screen reader, 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, JAWS may not always read a line of text that consists solely of a bracket or brace.

Go to previous page Go to next page
Copyright © 1996-2001, Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Go To Product List
Book List
Go To Table Of Contents
Go To Index

Master Index