Opaque Exceptions Table

An opaque exceptions table records a whole message into a column along with the error message.

Subscription Service uses two logical layers when processing a message. The first layer decodes data from the message and the second layer provides the database transaction. If an exception occurs in the first layer, the adapter logs the message to the opaque exceptions table.

In the second layer, if any DML command fails at any level, the adapter rolls back this transaction and starts another transaction, inserting into exceptions tables. If the insert into exceptions table transaction fails, the adapter then logs the message to the opaque exceptions table.

An opaque exceptions table has the following columns:

Column Name Type Description
ADB_TRACKINGID Varchar Tracking ID of a message.
ADB_ERROR_TEXT Varchar Text of an error from the database server, Adapter SDK 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_MSG Blob Raw bytes of the message.
Note: The default column size is 1 M. Subscription Service will stop when the inserted data size is larger than the objective table column size and the opaque exceptions table column size.
ADB_SUBTAB Varchar Destination table name.
ADB_SUBJECT Varchar Subscription Service destination or subject.
ADB_TRANSPORT Integer Subscription Service transport type:
  • 0 indicates unknown.
  • 1 indicates Rendezvous.
  • 2 indicates JMS.

You can configure several Subscription Service services in the ADB_SUBTAB column by using only one opaque exceptions table in the same database schema.