IBM Support

Message CLI0109E (String data right truncation), error with massload of the Contract data

Technote (troubleshooting)


Problem(Abstract)

Using massload to load some contracts related data into the CONTRACT table, the data loads ok and the script runs fine, however, when starting the Acceleartor tool there are receive SQL error messages.

Symptom

You cannot use the WebSphere Commerce Accelerator tool.

The SQL error messages are as follow:
java.sql.SQLException: [IBM][CLI Driver] CLI0109E String
data right truncation. SQLSTATE=22001DSRA0010E: SQL State = 22001, Error
Code = -99,999
at
COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throw_SQLException(SQLExceptionGenerator.java:25)
at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throw_SQLException(SQLExceptionGenerator.java(Inli ned Compiled Code))
at
COM.ibm.db2.jdbc.app.SQLExceptionGenerator.check_return_code(SQLExceptio
nGenerator.java(Compiled Code))
at
COM.ibm.db2.jdbc.app.DB2PreparedStatement.execute2(DB2PreparedStatement.
java(Compiled Code))
at
COM.ibm.db2.jdbc.app.DB2PreparedStatement.executeUpdate(DB2PreparedState
ment.java:1743)
at
com.ibm.ws.rsadapter.cci.WSResourceAdapterBase.pmiExecuteUpdate(WSResour
ceAdapterBase.java:450)
at
com.ibm.ws.rsadapter.cci.WSResourceAdapterBase.executeUpdate(WSResourceA
dapterBase.java:371)
at
com.ibm.commerce.context.objects.websphere_deploy.DB2UDBNT_V8_1.ContextD
ataBeanFunctionSet_e33d6509.Store(ContextDataBeanFunctionSet_e33d6509.ja
va:183)
at
com.ibm.commerce.context.objects.websphere_deploy.DB2UDBNT_V8_1.ContextD
ataBeanFunctionSet_e33d6509.execute(ContextDataBeanFunctionSet_e33d6509.
java:474)
at
com.ibm.ws.rsadapter.cci.WSInteractionImpl.execute(WSInteractionImpl.jav
a:527)
at
com.ibm.ws.rsadapter.cci.WSRelationalRAAdapter.executeUpdate(WSRelationa
lRAAdapter.java:523)
... 41 more


Which results in :
/
//
[6/11/09 14:48:42:655 CDT] 0000005a WC_EJB 3
com.ibm.commerce.context.objects.ConcreteContextData_e33d6509 ejbStore
OptCounterInfoKey=contextmanagement_activityId=45502
name=com.ibm.commerce.context.entitlement.EntitlementContext ,
incremented optCounter=21382
[6/11/09 14:48:43:007 CDT] 0000005a DataAccessReq E PMGR6022E: Error
using adapter to create or execute an Interaction.
com.ibm.ws.rsadapter.cci.WSInteractionImpl@1d036ce1
[6/11/09 14:48:43:008 CDT] 0000005a DataAccessReq E PMGR0000E: Call
stack:
com.ibm.ws.ejbpersistence.utilpm.PersistenceManagerException: PMGR6022E:
Error using adapter to create or execute an Interaction.
com.ibm.ws.rsadapter.cci.WSInteractionImpl@1d036ce1
at
com.ibm.ws.ejbpersistence.dataaccess.DataAccessRequestImpl.execute(Unkno
wn Source)
at
com.ibm.ws.ejbpersistence.beanextensions.ConcreteBeanStatefulInstanceExt
ensionImpl.executeStore(Unknown Source)
at
com.ibm.ws.ejbpersistence.beanextensions.CBReadyState.ejbStore(Unknown
Source)
at
com.ibm.ws.ejbpersistence.beanextensions.ConcreteBeanStatefulInstanceExt
ensionImpl.ejbStore(Unknown Source)
at
com.ibm.commerce.context.objects.ConcreteContextData_e33d6509.ejbStore(C
oncreteContextData_e33d6509.java:57


Cause

The Accelerator tool is not able to interpret the data that is being loaded and the SQL error means that there was an attempt to insert a string into a column, and the string is longer than the column default size.


Resolving the problem

The above error is due to running a prepared statement which tries to update the default table CTXDATA, however, the data that is being inserted is not the correct size for the default column size.


There are 2 alternatives to resolve the issue:

Important: Note that theses alternatives are considered a "work-around", in order to resolve the issue, the data that is being inserted need to be same size as the default column in the CTXDATA. Also note that if you intend to use any of these options, you must have a reliable back up copy of your database.

Option 1: Maximize the size of the "servalue" column in USERSPACE1 to 3850

db2 => alter table CTXDATA alter servalue set data type varchar(3850)


Option 2: Move the CTXDATA into an 8k tablespace and increase the size of the "servalue" column to varchar (5000).

Important: Confirm these steps with your database administrator. Try the following in your development environment first, you must take a backup copy of the database before doing any of these steps:

1. Export the CTXDATA data
2. Remove the foreign key relation between CTXDATA and CTXMGMT (F_1085) 3. Drop the CTXDATA table
4. Create the CTXDATA table in TAB8K tablespace
5. Import the data
6. Recreate the foreign key relation between CTXDATA and CTXMGMT

Document information

More support for: WebSphere Commerce Enterprise
Utilities/Tools

Software version: 6.0, 7.0

Operating system(s): AIX, IBM i, Linux, Solaris, Windows

Software edition: All Editions

Reference #: 1397360

Modified date: 18 February 2015


Translate this page: