Troubleshooting
Problem
When an attempt is made to commit a session after removing a number of application artifacts, ORA-01795 error occurs.
Symptom
When an attempt is made to commit a session after removing more than 1,000 application artifacts, the following error can occur:
0000000a LifeCycleComp E com.ibm.ws.lifecycle.runtime.component.LifeCycleComponentImpl cleanUpRepository ErrorCleaningUpOrphans
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT DISTINCT A0.obj_typ_cd, A0.subj_id FROM w_statement A0, w_statement A1, w_statement A2 WHERE A1.partition_id = A0.partition_id AND A2.partition_id = A0.partition_id AND A1.obj_id = A0.subj_id AND A0.pred_id = ? AND (A0.obj_id NOT IN (?, ?) AND A0.obj_typ_cd>=?) AND A2.subj_id = A1.subj_id AND A1.pred_id = ? AND A2.pred_id = ? AND A2.obj_id IN (?, ?, ......, ?, ?, ?) AND A0.partition_id = ? AND A0.version_to >= ? AND A0.version_to <= ? AND A1.partition_id = ? AND A1.obj_typ_cd = ? AND A2.partition_id = ? AND A2.obj_typ_cd = ?]; nested exception is java.sql.SQLException: ORA-01795: maximum number of expressions in a list is 1000
Resolving The Problem
If the number of parameterized values for the IN/NOT IN clause exceeds 1000, the subquery should be divided into sets according to the maximum limit of 1000, joined by the OR/AND operator.
Upgrade to WebSphere Process Server 7.0.0.5
Related Information
Was this topic helpful?
Document Information
Modified date:
15 June 2018
UID
swg21454480