DelphiFAQ Home Search:
General :: Databases :: InterBase
Help with InterBase, Borland's open source database.

Articles:

This list is sorted by recent document popularity (not total page views).
New documents will first appear at the bottom.

Featured Article

Migration InterBase 5.5 to 6.0

Question:
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:

  1. 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)

  2. 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);
You don't like the formatting? Check out SourceCoder then!
Generated 0:00:25 on Nov 14, 2018