Author: Tomas Rutkauskas
A certain stored procedure caused me to get this error message:
ISC ERROR CODE: 335544321
ISC ERROR MESSAGE:
arithmetic exception, numeric overflow, or string truncation
Answer:
I found that a variable of type char(18) was assigned to another variable of type
char(10). Since the data was never (?) longer than 8 characters, this worked fine
up to version 5.5. Seems that IB 6.0 handles strings different. It is likely that a
delcaration as VARCHAR instead of CHAR would help also. (See part 1 below)
Another necessary change was a type cast where IB 5.5 did an implicit conversion.
// part 1
declare variable v1 char(10);
declare variable v2 char(18);
..
v1 = v2; // generates the error in IB 6.0
// part 2
declare variable vchardate char(18);
declare variable vdatedate date;
vchardate = '1996-Jan-15';
vdatedate = vchardate; // generates error in IB 6.0
vdatedate = cast(vchardate as DATE);