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
|
ADB_OPCODE
|
NUMBER(38)
|
Operation code used by the adapter:
|
•
|
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.