Exception:
Caused by: com.ibm.db2.jcc.am.SqlDataException: DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null, DRIVER=4.11.77
at com.ibm.db2.jcc.am.gd.a(gd.java:668)
at com.ibm.db2.jcc.am.gd.a(gd.java:60)
at com.ibm.db2.jcc.am.gd.a(gd.java:127)
at com.ibm.db2.jcc.am.jn.b(jn.java:2230)
at com.ibm.db2.jcc.am.jn.c(jn.java:2213)
at com.ibm.db2.jcc.t4.cb.k(cb.java:369)
at com.ibm.db2.jcc.t4.cb.a(cb.java:61)
at com.ibm.db2.jcc.t4.q.a(q.java:50)
at com.ibm.db2.jcc.t4.sb.b(sb.java:226)
at com.ibm.db2.jcc.am.kn.oc(kn.java:2930)
at com.ibm.db2.jcc.am.kn.b(kn.java:3504)
at com.ibm.db2.jcc.am.kn.b(kn.java:4047)
at com.ibm.db2.jcc.am.kn.gc(kn.java:743)
at com.ibm.db2.jcc.am.kn.executeUpdate(kn.java:722)
Fix
Cause: SQLCode=-302, SQLSTATE=22001 is related to column data size smaller than the data you are trying to insert. You need to carefully investigate your SQL statement and make sure the data will fit in the columns.
Hint:
I faced this when I added a new WebSphere Commerce order status which I called "PRG" and despite the column status can accommodate three characters, I was using a custom method to update order status which was changing order items status too and status column in OrderItems table is 1 character only.
According to IBM support, it is described as follows:
"Character data, right truncation occurred; for example, an update or insert value is a string that is too long for the column, or a datetime value cannot be assigned to a host variable, because it is too small."
No comments:
Post a Comment