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