Oracle® C++ Call Interface Programmer's Guide, 11g Release 1 (11.1) Part Number B28390-01 |
|
|
View PDF |
Table 13-1 provides a brief description of all the OCCI classes. This section is followed by detailed descriptions of each class and its methods.
Table 13-1 Summary of OCCI Classes
Class | Description |
---|---|
|
Represents an agent in the Advanced Queuing context. |
|
Provides methods for the Object Type Translator (OTT) utility, read and write SQL methods for linearization of objects, and conversions to and from other datatypes. |
|
Provides methods for handling batch processing errors; extends the SQLException Class. |
|
Provides access to a SQL |
|
Provides access to a SQL |
|
Examines individual bytes of a sequence for comparing bytes, searching bytes, and extracting bytes. |
|
Provides access to a SQL |
|
Represents a connection with a specific database. |
|
Represents a connection pool with a specific database. |
|
Supports dequeuing of |
|
Specifies abstraction for SQL DATE data items. Also provides formatting and parsing operations to support the OCCI escape syntax for date values. |
|
Provides an OCCI environment to manager memory and other resources of OCCI objects. An OCCI driver manager maps to an OCCI environment handle. |
|
Represents a period of time in terms of days, hours, minutes, and seconds. |
|
Represents a period of time in terms of year and months. |
|
Listens on behalf of one or more agents on one or more queues. |
|
Used to store the mapping of the SQL structured type to C++ classes. |
|
A unit that is enqueued or dequeued. |
|
Used to determine types and properties of columns in a |
|
Used to hold notification information from the Streams AQ callback function. |
|
Models the numerical datatype. |
|
When defining types, enables specification of persistent or transient instances. Class instances derived from |
|
Supports enqueuing options and enqueues |
|
The mapping in C++ for the SQL REF value, which is a reference to a SQL structured type value in the database. |
|
The mapping in C++ for the SQL REF value, which is a reference to a SQL structured type value in the database. |
|
Provides access to a table of data generated by executing an OCCI |
|
Provides information on database access errors. |
|
Represents a pool of stateless, authenticated connections to the database. |
|
Used for executing SQL statements, including both query statements and insert / update / delete statements. |
|
Used to provide streamed data (usually of the LONG datatype) to a prepared DML statement or stored procedure call. |
|
Encapsulates the information and operations necessary for registering a subscriber for notification. |
|
Specifies abstraction for SQL TIMESTAMP data items. Also provides formatting and parsing operations to support the OCCI escape syntax for time stamp values. |
OCCI classes are defined in the oracle::occi
namespace. An OCCI class name within the oracle::occi
namespace can be referred to in one of three ways:
Use the scope resolution operator (::
) for each OCCI class name.
Use the using
declaration for each OCCI class name.
Use the using
directive for all OCCI class name.
Using Scope Resolution Operator for OCCI
The scope resolution operator (::
) is used to explicitly specify the oracle::occi
namespace and the OCCI class name. To declare myConnection
, a Connection
object, using the scope resolution operator, you would use the following syntax:
oracle::occi::Connection myConnection;
Using Declaration in OCCI
The using
declaration is used when the OCCI class name can be used in a compilation unit without conflict. To declare the OCCI class name in the oracle::occi
namespace, you would use the following syntax:
using oracle::occi::Connection;
Connection
now refers to oracle::occi::Connection
, and myConnection
can be declared as Connection myConnection;
.
Using Directive in OCCI
The using
directive is used when all OCCI class names can be used in a compilation unit without conflict. To declare all OCCI class names in the oracle::occi
namespace, you would use the following syntax:
using oracle::occi;
Then, just as with the using
declaration, the following declaration would now refer to the OCCI class Connection
as Connection myConnection;
.
Using Advanced Queuing in OCCI
The Advanced Queuing classes Producer
, Consumer
, Message
, Agent
, Listener
, Subscription
and NotifyResult
are defined in oracle::occi::aq
namespace.
When building OCCI application on Windows, a preprocessor definition for WIN32COMMON
has to be added.
The following global methods are designed for accessing collections of Ref
s in ResultSet Class and Statement Class on Windows NT and z/OS. While method names changed, the number of parameters and their types remain the same.
Use getVectorOfRefs()
in place of getVector()
on Windows NT and z/OS.
Use setVectorOfRefs()
in place of setVector()
on Windows NT and z/OS.
Applications on Windows NT and z/OS should be calling these new methods only for retrieving and inserting collections of references. Applications not running on Windows NT or z/OS can use either set of accessors. However, Oracle recommends the use of the new methods for any vector operations with Ref
s.
Collections of Refs can be fetched and inserted using methods of the following classes:
Fetching Collection of Refs
Use the following version of
getVectorOfRefs() to return a column of references:void getVectorOfRefs( ResultSet *rs, unsigned int index, vector<Ref<T> > &vect);
Fetching Collection of Refs
Use
getVectorOfRefs() to return a collection of references from a column:void getVectorOfRefs( Statement *stmt, unsigned int index, vector<Ref<T> > &vect);
Inserting a Collection of Refs
Use
setVectorOfRefs() to insert a collection of references into a column:template <class T> void setVectorOfRefs( Statement *stmt, unsigned int paramIndex, const vector<Ref<T> > &vect, const string &sqltype);
Inserting a Collection of Refs: Multibyte Support The following method should be used for multibyte support:
void setVectorOfRefs( Statement *stmt, unsigned int paramIndex, const vector<Ref<T> > &vect, const string &schemaName, const string &typeName);
Inserting a Collection of Refs: UString (UTF16) Support
The following method should be used for
UString
support:
template <class T> void setVectorOfRefs( Statement *stmt, unsigned int paramIndex, const vector<Ref<T> > &vect, const UString &schemaName, const UString &typeName);