Exception Table

If a database restriction or failure occurs, an exception table can be configured to receive a message. If insertion into an exception table also fails, an error message is displayed and the adapter instance is terminated. You can build a TIBCO Hawk rulebase that detects when the configuration is down and automatically restarts it when the database is up. See TIBCO Hawk Administrator’s Guide for details about creating a rulebase.

In addition to destination table columns, the following columns are added to the exception table.

Exception Table: Additional Columns

Column Name

Type

Description

ADB_OPCODE

NUMBER(38)

Operation code used by the adapter:

1 indicates INSERT
2 indicates UPDATE
3 indicates DELETE
4 indicates UPDATE if row exists, otherwise INSERT.

If an incoming TIBCO Rendezvous message does not have an operation code, an INSERT occurs.

Note: When working with parent-child table, the value of ADB_OPCODE in the parent table and the child table must be the same. Or only set the value of ADB_OPCODE in the parent table and leave the child table empty.

ADB_UPDATE_ALL

NUMBER(38)

Currently not used.

ADB_TRACKINGID

VARCHAR2(40)

Tracking ID of the message. This column is the primary key. Each exception table that is mapped to a child table is connected to the parent exception table by this column

ADB_ERROR_TEXT

VARCHAR2(4000)

Text of the error from the database server or other source that caused the exception.

ADB_ERROR_TIME

DATE

Timestamp of the inserted record.

For Oracle databases, the timestamp includes the time zone information.

ADB_JOIN_ID

VARCHAR(46)

Joined column used to link a parent record with its child record. ADB_JOIN_ID is generated from ADB_TRACKINGID and concatenated with the record number in the group.

The exception table of a child table is connected to the exception table of a parent table by the ADB_JOIN_ID column.

The exception table cannot contain any user-created columns where the column name starts with ADB_. These characters are reserved for adapter use.

Note: When using Teradata and PostgreSQL databases to work with the exception table, if the operation fails, all uncommitted data is rolled back.