Table of Contents
- List of Examples
 - List of Figures
 - List of Tables
 - Title and Copyright Information
 - Preface
 - Changes in This Release for Oracle C++ Call Interface Programmer's Guide
 - 1 Introduction to OCCI
 - 
               
               
                  
                  2
                      	 	Installation and Upgrading
               
                  
               
               
               
- About Installing Oracle C++ Call Interface
 - About Upgrading Considerations
 - About Determining the Oracle Database Versions
 - 
                     
                     About the Instant Client
                        
                     
                     
                     
- About Benefits of Instant Client
 - About Installing the Instant Client
 - About Using the Instant Client
 - Patching Instant Client Shared Libraries on UNIX
 - Regenerating the Data Shared Library and Zip Files
 - About Database Connection Names for Instant Client
 - Setting Environment Variables for OCCI Instant Client
 
 - About Instant Client Light (English)
 - About Using OCCI with Microsoft Visual C++
 
 - 
               
               
                  
                  3
                       	Accessing Oracle Database Using C++  
               
                  
               
               
               
- About Connecting to a Database
 - About Pooling Connections
 - About Executing SQL DDL and DML Statements
 - About Types of SQL Statements in the OCCI Environment
 - About Executing SQL Queries
 - About Executing Statements Dynamically
 - About Using Larger Row Count and Error Code Range Data Types
 - About Committing a Transaction
 - Caching Statements
 - About Handling Exceptions
 
 - 
               
               
                  
                  4
                       	Object Programming 
               
                  
               
               
               
- Overview of Object Programming
 - About Working with Objects in C++ with OCCI
 - About Representing Objects in C++ Applications
 - About Developing a C++ Application using OCCI
 - Migrating C++ Applications to Oracle Using OCCI
 - Overview of Associative Access
 - 
                     
                     Overview of Navigational Access
                        
                     
                     
                     
- Retrieving an Object Reference (REF) from the Database Server
 - Pinning an Object
 - Manipulating Object Attributes
 - About Marking Objects and Flushing Changes
 - Marking an Object as Modified (Dirty)
 - About Recording Changes in the Database
 - Collecting Garbage in the Object Cache
 - About Ensuring Transactional Consistency of References
 
 - Overview of Complex Object Retrieval
 - Working with Collections
 - About Using Object References
 - About Deleting Objects from the Database
 - About Type Inheritance
 - A Sample OCCI Application
 
 - 
               
               
                  
                  5
                       Data Types
               
                  
               
               
               
- Overview of Oracle Data Types
 - Internal Data Types
 - 
                     
                     External Data Types
                        
                     
                     
                     
- 
                           
                           Description of External Data Types
                              
                           
                           
                           
- BFILE
 - BDOUBLE
 - BFLOAT
 - BLOB
 - CHAR
 - CHARZ
 - CLOB
 - DATE
 - FLOAT
 - INTEGER
 - INTERVAL DAY TO SECOND
 - INTERVAL YEAR TO MONTH
 - LONG
 - LONG RAW
 - LONG VARCHAR
 - LONG VARRAW
 - NCLOB
 - NUMBER
 - OCCI BFILE
 - OCCI BLOB
 - OCCI BYTES
 - OCCI CLOB
 - OCCI DATE
 - OCCI INTERVALDS
 - OCCI INTERVALYM
 - OCCI NUMBER
 - OCCI POBJECT
 - OCCI REF
 - OCCI REFANY
 - OCCI STRING
 - OCCI TIMESTAMP
 - OCCI VECTOR
 - RAW
 - REF
 - ROWID
 - STRING
 - TIMESTAMP
 - TIMESTAMP WITH LOCAL TIME ZONE
 - TIMESTAMP WITH TIME ZONE
 - UNSIGNED INT
 - VARCHAR
 - VARCHAR2
 - VARNUM
 - VARRAW
 - NATIVE DOUBLE
 - NATIVE FLOAT
 
 
 - 
                           
                           Description of External Data Types
                              
                           
                           
                           
 - Data Conversions
 
 - 
               
               
                  
                  6
                       Metadata
               
                  
               
               
               
- Overview of Metadata
 - Using Identity Column Metadata
 - About Describing Database Metadata
 - 
                     
                     Attribute Reference Information
                        
                     
                     
                     
- Parameter Attributes
 - Table and View Attributes
 - Procedure, Function, and Subprogram Attributes
 - Package Attributes
 - Type Attributes
 - Type Attribute Attributes
 - Type Method Attributes
 - Collection Attributes
 - Synonym Attributes
 - Sequence Attributes
 - Column Attributes
 - Argument and Result Attributes
 - List Attributes
 - Schema Attributes
 - Database Attributes
 
 
 - 7 Programming with LOBs
 - 
               
               
                  
                  8
                       Object Type Translator Utility
               
                  
               
               
               
- Overview of the Object Type Translator Utility
 - Using the OTT Utility
 - Creating Types in the Database
 - About Invoking the OTT Utility
 - About Using the INTYPE File
 - Using OTT Utility Data Type Mappings
 - Overview of the OUTTYPE File
 - Using the OTT Utility and OCCI Applications
 - Generating C++ Classes Generated by the OTT Utility
 
 - 9 Globalization and Unicode Support
 - 10 Oracle Streams Advanced Queuing
 - 11 Oracle XA Library
 - 
               
               
                  
                  12
                       Optimizing Performance of C++ Applications
               
                  
               
               
               
- About Transparent Application Failover
 - About Connection Sharing
 - About Application-Managed Data Buffering
 - Using the Array Fetch Using next() Method
 - Modifying Rows Iteratively
 - About Using Oracle Connection Manager in Traffic Director Mode
 - About Run-time Load Balancing of the Stateless Connection Pool
 - About Fault Diagnosability
 - Using Client Result Cache
 - About Client-Side Deployment Parameters and Auto Tuning
 
 - 
               
               
                  
                  13
                       OCCI Application Programming Interface
               
                  
               
               
               
- OCCI Classes and Methods
 - Common OCCI Constants
 - Agent Class
 - 
                     
                     AnyData Class
                        
                     
                     
                     
- AnyData()
 - getAsBDouble()
 - getAsBfile()
 - getAsBFloat()
 - getAsBytes()
 - getAsDate()
 - getAsIntervalDS()
 - getAsIntervalYM()
 - getAsNumber()
 - getAsObject()
 - getAsRef()
 - getAsString()
 - getAsTimestamp()
 - getType()
 - isNull()
 - setFromBDouble()
 - setFromBfile()
 - setFromBFloat()
 - setFromBytes()
 - setFromDate()
 - setFromIntervalDS()
 - setFromIntervalYM()
 - setFromNumber()
 - setFromObject()
 - setFromRef()
 - setFromString()
 - setFromTimestamp()
 - setNull()
 
 - BatchSQLException Class
 - Bfile Class
 - Blob Class
 - Bytes Class
 - 
                     
                     Clob Class
                        
                     
                     
                     
- Clob()
 - append()
 - close()
 - closeStream()
 - copy()
 - getCharSetForm()
 - getCharSetId()
 - getCharSetIdUString()
 - getChunkSize()
 - getContentType()
 - getOptions()
 - getStream()
 - isInitialized()
 - isNull()
 - isOpen()
 - length()
 - open()
 - operator=()
 - operator==()
 - operator!=()
 - read()
 - setCharSetId()
 - setCharSetIdUString()
 - setCharSetForm()
 - setContentType()
 - setEmpty()
 - setNull()
 - setOptions()
 - trim()
 - write()
 - writeChunk()
 
 - 
                     
                     Connection Class
                        
                     
                     
                     
- changePassword()
 - commit()
 - createStatement()
 - flushCache()
 - getClientCharSet()
 - getClientCharSetUString()
 - getClientNCHARCharSet()
 - getClientNCHARCharSetUString()
 - getClientVersion()
 - getLTXID()
 - getMetaData()
 - getOCIServer()
 - getOCIServiceContext()
 - getOCISession()
 - getServerVersion()
 - getServerVersionUString()
 - getStmtCacheSize()
 - getTag()
 - isCached()
 - pinVectorOfRefs()
 - postToSubscriptions()
 - readVectorOfBfiles()
 - readVectorOfBlobs()
 - readVectorOfClobs()
 - registerSubscriptions()
 - rollback()
 - setStmtCacheSize()
 - setTAFNotify()
 - terminateStatement()
 - unregisterSubscription()
 - writeVectorOfBlobs()
 - writeVectorOfClobs()
 
 - ConnectionPool Class
 - 
                     
                     Consumer Class
                        
                     
                     
                     
- Consumer()
 - getConsumerName()
 - getCorrelationId()
 - getDequeueMode()
 - getMessageIdToDequeue()
 - getPositionOfMessage()
 - getQueueName()
 - getTransformation()
 - getVisibility()
 - getWaitTime()
 - isNull()
 - operator=()
 - receive()
 - setAgent()
 - setConsumerName()
 - setCorrelationId()
 - setDequeueMode()
 - setMessageIdToDequeue()
 - setNull()
 - setPositionOfMessage()
 - setQueueName()
 - setTransformation()
 - setVisibility()
 - setWaitTime()
 
 - Date Class
 - 
                     
                     Environment Class
                        
                     
                     
                     
- createConnection()
 - createConnectionPool()
 - createEnvironment()
 - createStatelessConnectionPool()
 - enableSubscription()
 - disableSubscription()
 - getCacheMaxSize()
 - getCacheOptSize()
 - getCacheSortedFlush()
 - getCurrentHeapSize()
 - getLDAPAdminContext()
 - getLDAPAuthentication()
 - getLDAPHost()
 - getLDAPPort()
 - getMap()
 - getNLSLanguage()
 - getNLSTerritory()
 - getOCIEnvironment()
 - getXAConnection()
 - getXAEnvironment()
 - releaseXAConnection()
 - releaseXAEnvironment()
 - setCacheMaxSize()
 - setCacheOptSize()
 - setCacheSortedFlush()
 - setLDAPAdminContext()
 - setLDAPAuthentication()
 - setLDAPHostAndPort()
 - setLDAPLoginNameAndPassword()
 - setNLSLanguage()
 - setNLSTerritory()
 - terminateConnection()
 - terminateConnectionPool()
 - terminateEnvironment()
 - terminateStatelessConnectionPool()
 
 - 
                     
                     IntervalDS Class
                        
                     
                     
                     
- IntervalDS()
 - fromText()
 - fromUText()
 - getDay()
 - getFracSec()
 - getHour()
 - getMinute()
 - getSecond()
 - isNull()
 - operator*()
 - operator*=()
 - operator=()
 - operator==()
 - operator!=()
 - operator/()
 - operator/=()
 - operator>()
 - operator>=()
 - operator<()
 - operator<=()
 - operator-()
 - operator-=()
 - operator+()
 - operator+=()
 - set()
 - setNull()
 - toText()
 - toUText()
 
 - IntervalYM Class
 - Listener Class
 - Map Class
 - 
                     
                     Message Class
                        
                     
                     
                     
- Message()
 - getAnyData()
 - getAttemptsToDequeue()
 - getBytes()
 - getCorrelationId()
 - getDelay()
 - getExceptionQueueName()
 - getExpiration()
 - getMessageEnqueuedTime()
 - getMessageState()
 - getObject()
 - getOriginalMessageId()
 - getPayloadType()
 - getPriority()
 - getSenderId()
 - isNull()
 - operator=()
 - setAnyData()
 - setBytes()
 - setCorrelationId()
 - setDelay()
 - setExceptionQueueName()
 - setExpiration()
 - setNull()
 - setObject()
 - setOriginalMessageId()
 - setPriority()
 - setRecipientList()
 - setSenderId()
 
 - MetaData Class
 - NotifyResult Class
 - 
                     
                     Number Class
                        
                     
                     
                     
- Number()
 - abs()
 - arcCos()
 - arcSin()
 - arcTan()
 - arcTan2()
 - ceil()
 - cos()
 - exp()
 - floor()
 - fromBytes()
 - fromText()
 - hypCos()
 - hypSin()
 - hypTan()
 - intPower()
 - isNull()
 - ln()
 - log()
 - operator++()
 - operator--()
 - operator*()
 - operator/()
 - operator%()
 - operator+()
 - operator-()
 - operator-()
 - operator<()
 - operator<=()
 - operator>()
 - operator>=()
 - operator==()
 - operator!=()
 - operator=()
 - operator*=()
 - operator/=()
 - operator%=()
 - operator+=()
 - operator-=()
 - operator char()
 - operator signed char()
 - operator double()
 - operator float()
 - operator int()
 - operator long()
 - operator long double()
 - operator short()
 - operator unsigned char()
 - operator unsigned int()
 - operator unsigned long()
 - operator unsigned short()
 - power()
 - prec()
 - round()
 - setNull()
 - shift()
 - sign()
 - sin()
 - squareroot()
 - tan()
 - toBytes()
 - toText()
 - trunc()
 
 - PObject Class
 - Producer Class
 - Ref Class
 - RefAny Class
 - 
                     
                     ResultSet Class
                        
                     
                     
                     
- cancel()
 - closeStream()
 - getBDouble()
 - getBfile()
 - getBFloat()
 - getBlob()
 - getBytes()
 - getCharSet()
 - getCharSetUString()
 - getClob()
 - getColumnListMetaData()
 - getCurrentStreamColumn()
 - getCurrentStreamRow()
 - getCursor()
 - getDatabaseNCHARParam()
 - getDate()
 - getDouble()
 - getFloat()
 - getInt()
 - getIntervalDS()
 - getIntervalYM()
 - getMaxColumnSize()
 - getNumArrayRows()
 - getNumber()
 - getObject()
 - getRef()
 - getRowid()
 - getRowPosition()
 - getStatement()
 - getStream()
 - getString()
 - getTimestamp()
 - getUInt()
 - getUString()
 - getVector()
 - getVectorOfRefs()
 - isNull()
 - isTruncated()
 - next()
 - preTruncationLength()
 - setBinaryStreamMode()
 - setCharacterStreamMode()
 - setCharSet()
 - setCharSetUString()
 - setDatabaseNCHARParam()
 - setDataBuffer()
 - setErrorOnNull()
 - setErrorOnTruncate()
 - setPrefetchMemorySize()
 - setPrefetchRowCount()
 - setMaxColumnSize()
 - status()
 
 - SQLException Class
 - 
                     
                     StatelessConnectionPool Class
                        
                     
                     
                     
- getAnyTaggedConnection()
 - getAnyTaggedProxyConnection()
 - getBusyConnections()
 - getBusyOption()
 - getConnection()
 - getIncrConnections()
 - getMaxConnections()
 - getMinConnections()
 - getOpenConnections()
 - getPoolName()
 - getProxyConnection()
 - getStmtCacheSize()
 - getTimeOut()
 - releaseConnection()
 - setBusyOption()
 - setPoolSize()
 - setTimeOut()
 - setStmtCacheSize()
 - terminateConnection()
 
 - 
                     
                     Statement Class
                        
                     
                     
                     
- addIteration()
 - closeResultSet()
 - closeStream()
 - disableCaching()
 - execute()
 - executeArrayUpdate()
 - executeQuery()
 - executeUpdate()
 - getAutoCommit()
 - getBatchErrorMode()
 - getBDouble()
 - getBfile()
 - getBFloat()
 - getBlob()
 - getBytes()
 - getCharSet()
 - getCharSetUString()
 - getClob()
 - getConnection()
 - getCurrentIteration()
 - getCurrentStreamIteration()
 - getCurrentStreamParam()
 - getCursor()
 - getDatabaseNCHARParam()
 - getDate()
 - getDMLRowCounts()
 - getDouble()
 - getFloat()
 - getInt()
 - getIntervalDS()
 - getIntervalYM()
 - getMaxIterations()
 - getMaxParamSize()
 - getNumber()
 - getObject()
 - getOCIStatement()
 - getRef()
 - getResultSet()
 - getRowCountsOption()
 - getRowid()
 - getSQL()
 - getSQLUString()
 - getStream()
 - getString()
 - getTimestamp()
 - getUb8RowCount()
 - getUInt()
 - getUpdateCount()
 - getUString()
 - getVector()
 - getVectorOfRefs()
 - isNull()
 - isTruncated()
 - preTruncationLength()
 - registerOutParam()
 - setAutoCommit()
 - setBatchErrorMode()
 - setBDouble()
 - setBfile()
 - setBFloat()
 - setBinaryStreamMode()
 - setBlob()
 - setBytes()
 - setCharacterStreamMode()
 - setCharSet()
 - setCharSetUString()
 - setClob()
 - setDate()
 - setDatabaseNCHARParam()
 - setDataBuffer()
 - setDataBufferArray()
 - setDouble()
 - setErrorOnNull()
 - setErrorOnTruncate()
 - setFloat()
 - setInt()
 - setIntervalDS()
 - setIntervalYM()
 - setMaxIterations()
 - setMaxParamSize()
 - setNull()
 - setNumber()
 - setObject()
 - setPrefetchMemorySize()
 - setPrefetchRowCount()
 - setRef()
 - setRowCountsOption()
 - setRowid()
 - setSQL()
 - setSQLUString()
 - setString()
 - setTimestamp()
 - setUInt()
 - setUString()
 - setVector()
 - setVectorOfRefs()
 - status()
 
 - Stream Class
 - 
                     
                     Subscription Class
                        
                     
                     
                     
- Subscription()
 - getCallbackContext()
 - getDatabaseServersCount()
 - getDatabaseServerNames()
 - getNotifyCallback()
 - getPayload()
 - getSubscriptionName()
 - getSubscriptionNamespace()
 - getRecipientName()
 - getPresentation()
 - getProtocol()
 - isNull()
 - operator=()
 - setCallbackContext()
 - setDatabaseServerNames()
 - setNotifyCallback()
 - setNull()
 - setPayload()
 - setPresentation()
 - setProtocol()
 - setSubscriptionName()
 - setSubscriptionNamespace()
 - setRecipientName()
 
 - Timestamp Class
 
 - Index