Table of Contents
- List of Examples
- List of Figures
- List of Tables
- Title and Copyright Information
- Preface
- 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 Database 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