KBI 310249 ODBC Error: Numeric Value Out Of Range In AAC_ENGINE_LOG


Argent Extended Technology – All Versions


26 Jul 2011


Customers may notice that some Condition Corrected Alerts are not being sent

In the AAC_ENGINE_LOG, they may see errors as follows:

ODBC Error: Numeric value out of range

(FILE: AAC_ProcessAlert.cpp LINE:992)

Technical Background

The AAC_OCCUR table holds all occurrences of a particular Alert

This table is used for the “Fire Alert After Rule Is Broken X Times” feature

The OCCURRENCE field in this table is the counter that holds how many times the Rule has been broken for

Under normal circumstances, the OCCURRENCE counter is reset to zero based on the “Reset Counters” configuration

E.g. Reset After Event Is Posted, Reset After Event Is Answered, Reset After The Actual Condition Is Corrected

However, some customers may leave an Alert unanswered for a long period of time, and if the Alert is frequent enough, it could cause the OCCURRENCE counter to hit a maximum number

By default, the OCCURRENCE field is of type “smallint”

A “smallint” supports numbers from a range of -32767 to 32767

You can confirm if OCCURRENCE has reached the maximum limit by running this query:




The issue can be resolved by either manually resetting the rows where the OCCURRENCE is 32767 to zero


If such a large number of occurrences is desired, you can change the data type of the OCCURRENCE column from a “smallint” to an “int” (and “int” supports numbers up to 2 billion)