Exceptions Table

If a database restriction or failure occurs, an exceptions table can be configured to receive a message. If insertion into an exception table also fails, an error message is displayed and the adapter configuration is terminated.

You can build a TIBCO Hawk rulebase that detects when the adapter configuration is down and automatically restarts it when the database is up. See TIBCO Hawk Administrator’s Guide for details on how to create a rulebase.

In addition to the columns in a destination table, the following columns are added to the exceptions table:

Column Name Type Description
ADB_OPCODE Number(38) Operation code used by the adapter. The values can be:
  • 1 indicates INSERT.
  • 2 indicates UPDATE.
  • 3 indicates DELETE.
  • 4 indicates UPDATE if a row exists, otherwise INSERT.

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

Note: When Subscription Service works with a parent-child table relationship, set the same value for the ADB_OPCODE column in the parent and child tables. Or only set the value for the ADB_OPCODE column in the parent table and leave the ADB_OPCODE column in the child table empty.
ADB_UPDATE_ALL Number(38) Currently not used.
ADB_TRACKINGID Varchar2(40) Tracking ID of a message. This column is the primary key.

Each exceptions table that is mapped to a child table is connected to the parent exceptions table by this column.

ADB_ERROR_TEXT Varchar2(4000) Text of an error from the database server or another source that caused the exception.
ADB_ERROR_TIME Date Timestamp of an 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. The ADB_JOIN_ID column is generated from the ADB_TRACKINGID column and concatenated with the record number in the group.

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

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

Note: When you use Teradata and PostgreSQL databases to work with the exceptions table, if the operation fails, all uncommitted data will be rolled back.