Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
DB Access Module for DB2 CLI User's Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

2.3 Data Types

The classes RWDBColumn and RWDBValue have an associated RWDBValue::ValueType that specifies the data type of the database column or field being referenced. Mapping between this data type and the database vendor type runs in both directions:

The RWDBValue::ValueTypes, accessible through the type() method, are uniform across all Access Modules. For a complete explanation of the DB Interface Module data model, see Chapter 7, "The Data Model," in the DB Interface Module User's Guide and RWDBValue in the DB Interface Module Reference Guide.


NOTE -- We update the mapping tables regularly, but Rogue Wave cannot be responsible for changes made by other vendors. For the latest information on mappings between the DB2 SQL data types and the actual DB2 server types used on the database, please consult IBM's DB2 Call Level Interface Guide and Reference.

Table 1: Type mapping when retrieving data 

DB2 Data Type DB2 SQL Data Type1 RWDBValue::
ValueType
C++ Data Type

CHAR
VARCHAR
LONG VARCHAR
CLOB

SQL_CHAR
SQL_VARCHAR
SQL_LONGVARCHAR
SQL_CLOB

String or UString

RWCString or RWBasicUString2

CHAR FOR BIT DATA
VARCHAR FOR BIT DATA
LONGVARCHAR FOR BIT DATA
BLOB

SQL_BINARY
SQL_VARBINARY
SQL_LONGVARBINARY
SQL_BLOB

Blob

RWDBBlob

SMALLINT

SQL_SMALLINT

Short

short int

BIGINT

SQL_BIGINT

LongLong

long long

INTEGER

SQL_INTEGER

Long

long int

DOUBLE

FLOAT

SQL_DOUBLE

SQL_FLOAT

Double

double

REAL

SQL_REAL

Float

float

DATE

SQL_TYPE_DATE

Date

RWDate

NUMERIC
DECIMAL

SQL_NUMERIC
SQL_DECIMAL

Decimal

RWDecimalPortable

TIMESTAMP
TIME

SQL_TYPE_TIMESTAMP
SQL_TYPE_TIME

DateTime

RWDBDateTime3 and RWDateTime

GRAPHIC4
VARGRAPHIC
LONGVARGRAPHIC

SQL_GRAPHIC
SQL_VARGRAPHIC
SQL_LONGVARGRAPHIC

SQL_WCHAR SQL_WVARCHAR SQL_WLONGVARCHAR

WString

RWWString

  1. The current release of the DB Access Module for DB2 CLI does not support the DB2 SQL symbolic data types: BLOB LOCATOR, CLOB LOCATOR, DBCLOB, and DBCLOB LOCATOR.
  2. This mapping is affected by the method RWDBDB2CLILibEnvironmentHandle::unicodeMode(). Please see Section 2.10 and Section 2.16 for more information.
  3. RWDBDateTime is deprecated. Please use RWDateTime.
  4. GRAPHIC, VARGRAPHIC, and LONGVARGRAPHIC types are available only when the DB2 database is Unicode enabled.

Table 2: Type mapping when creating tables 

RWDBValue::
ValueType
DB2 Data Type

Char
UnsignedChar

SMALLINT

String

UString

If 0 < length < 255, VARCHAR using the storageLength of the RWDBColumn

If length > 32700, CLOB using the storageLength of the RWDBColumn, else LONG VARCHAR

WString
MBString

Not supported

Blob

If 0 < length < 255 VARCHAR FOR BIT DATA using the storageLength of the RWDBColumn

If length > 32700, BLOB using the storageLength of the RWDBColumn

else LONG VARCHAR FOR BIT DATA

Short
UnsignedShort

SMALLINT

Int
UnsignedInt

INTEGER

Long
UnsignedLong

INTEGER

LongLong
UnsignedLongLong

BIGINT

Float

FLOAT

Double

DOUBLE

LongDouble

Not supported

Decimal

DECIMAL using the precision and scale of the RWDBColumn, if supplied

Date

DATE

DateTime

TIMESTAMP

Duration

Not supported



Previous fileTop of DocumentContentsIndex pageNext file

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.