KB Article #177398

ORA-12899: value too large for column

Problem

Interchange reports "ORA-12899: value too large for column" errors in the logs.

Specifically for case 693757, the table.column are ExchangePointUsers.ExchangePointFingerprint, and the full error message is:

ORA-12899 error (value too large for column) while attempting to INSERT into ExchangePointUsers.ExchangePointFingerprint column

The "normal" length for the ExchangePointFingerprint column is 250, but this particular customer had some very long exchange point names, causing their ExchangePointFingerprint values to be as large as 312.

Resolution

Depending on the specific table and column, this can probably be fixed easily using the ALTER TABLE SQL command to modify the column in question.

Specifically for case 693757-1, the is the SQL command that was used to increase the length to 512:

ALTER TABLE [<schema-name>.]EXCHANGEPOINTUSERS MODIFY EXCHANGEPOINTFINGERPRINT VARCHAR(512);

CAUTION: Any SQL statements which alter the structure of the database must be run while Interchange is stopped!

It should have no adverse effect on existing rows.