Rogue Wave banner
Previous fileTop of DocumentContentsIndexNext file

2.10 Transaction Processing

There are two ways to control transactions through the DB2 CLI library:

Each of these techniques is described below.

2.10.1 Setting Isolation Levels

You can use the isolation() method of RWDBConnection to set the isolation level of the connected server. Table 4 shows the mapping between the IsolationType argument you pass, and the isolation level set by the SQLSetConnectionOption() call.

Table 4 -- Setting the isolation level

 
RWDBConnection:: IsolationTypeODBC Isolation LevelIBM Isolation Level
Unknown
SQL_TXN_READ_UNCOMMITTED
Uncommitted Read
ANSILevel1
SQL_TXN_READ_COMMITTED
Cursor Stability
ANSILevel2
SQL_TXN_REPEATABLE_READ
Read Stability
ANSILevel3
SQL_TXN_SERIALIZABLE
Repeatable Read

To determine the current isolation level, call RWDBConnection::isolation() without an argument.

2.10.2 Using Transaction Control Methods

You can explicitly control transactions through the following DBTools.h++ methods:

These methods have straightforward implementations that correspond to the following DB2 functions:

An application can add the DBTools.h++ transaction methods to its code to take explicit control of its transaction blocks. The following code demonstrates how these methods can be used to commit or to rollback transactions:

Please note that nested transactions and savepoint features are not supported by DB2.


NOTE: DB2 does not support nested transactions and savepoint features.

Attempting to create a nested transaction generates a server error. Attempting to use the savepoint features of the DBTools.h++ API generates the error RWDBStatus::notSupported for the connection that tried.


Previous fileTop of DocumentContentsIndexNext file

©Copyright 2000, Rogue Wave Software, Inc.
Contact Rogue Wave about documentation or support issues.