Supported Data Types

The Oracle Objects for OLE C++ Class Library supports the simplest types of C
data types: int, long, double, and char *. Two additional types are defined by
the library:

· oboolean, a standard TRUE or FALSE container, and

· oresult, which contains result codes from methods.

In this release, the routines return oresults of either OSUCCESS or OFAILURE
to indicate whether the methods succeeded or not. In cases of OFAILURE, other
methods should be called to determine the precise error. See Error Handling for more information.

The Oracle database does not store values using C++ data types. It has its own
type system. The types that the database use are:

OTYPE_VARCHAR2

variable length character

OTYPE_NUMBER

number (either integer or fixed point)

OTYPE_LONG

a long piece of text

OTYPE_ROWID

special record identifier

OTYPE_DATE

a date

OTYPE_RAW

short piece of raw bytes

OTYPE_LONGRAW

a large blob or raw bytes

OTYPE_CHAR

fixed length character

OTYPE_MSLABEL

special type for secure databases

You should consult your Oracle documentation for more information about these
types. The text types (varchar2, long and char) are special in that Oracle will
perform character set translation on them. A number field may store an integer
or a fixed point number depending on its scale and precision. It is important
to note that calculations that are done in the database are done with decimal
(not binary) rounding.