Environment: =========== BE 3.0.2 All Operating Systems
Symptoms: ========= Exception in BusinessEvents Logfile (inference agent).
Error [$default.be.mt$.Worker.0] - Failed writing to DB. Will re-try :java.sql.SQLException: ORA-12899: value too large for column "BEUSER"."D_CONCEPT1"."SYS_NC00026$" (actual: 336, maximum: 255) Error [$default.be.mt$.Worker.0] - java.lang.RuntimeException: java.sql.SQLException: ORA-12899: value too large for column "BEUSER"."D_CONCEPT1"."SYS_NC00026$" (actual: 336, maximum: 255) at com.tibco.be.oracle.BECoherenceOracleStore.saveTransaction(BECoherenceOracleStore.java:2575) at com.tibco.be.oracle.BECoherenceOracleStore.saveTransaction(BECoherenceOracleStore.java:2545) at com.tibco.cep.runtime.service.om.coherence.cluster.agents.RtcTransactionManager.applyTransactionToDBWithRetry(RtcTrans at com.tibco.cep.runtime.service.om.coherence.cluster.agents.RtcTransactionManager.applyTransactionToDB(RtcTransactionMan at com.tibco.cep.runtime.service.om.coherence.cluster.agents.RtcTransactionManager.applyTransaction(RtcTransactionManager at com.tibco.cep.runtime.service.om.coherence.cluster.agents.RtcTransactionManager.publish(RtcTransactionManager.java:129 at com.tibco.cep.runtime.service.om.coherence.cluster.agents.InferenceAgent.applyChanges(InferenceAgent.java:2583) at com.tibco.cep.runtime.service.om.coherence.CoherenceStore.applyChanges(CoherenceStore.java:936) at com.tibco.cep.kernel.core.base.WorkingMemoryImpl.processRecorded(WorkingMemoryImpl.java:408) at com.tibco.cep.kernel.core.rete.ReteWM.executeRules(ReteWM.java:1354) at com.tibco.cep.runtime.session.impl.RuleSessionImpl.preprocessPassthru(RuleSessionImpl.java:888) at com.tibco.cep.runtime.service.om.coherence.cluster.agents.ClusterTaskController.executeTask(ClusterTaskController.java at com.tibco.cep.runtime.scheduler.impl.WorkerBasedController$WorkerTask.run(WorkerBasedController.java:317) at com.tibco.cep.runtime.session.BEManagedThread.execute(BEManagedThread.java:459) at com.tibco.cep.runtime.session.BEManagedThread.run_from_queue(BEManagedThread.java:401) at com.tibco.cep.runtime.session.BEManagedThread.run(BEManagedThread.java:302)
Cause: ====== In BE 3.0.2 the default field length for a property is limited to 255 characters but the string length used in the project can be longer.
Resolution: ======== You have to change your database structure if the property should be larger. The utilities be-oradeploy will set a larger value for the property in the database script when you change the string length in your project for the property (right click on the property --> Extended properties).
Update the backingstore or create a alter.sql script (be-oradeploy) ALTER TYPE <type> MODIFY ATTRIBUTE "<attribute>" varchar2(<newLength>) INVALIDATE ;
Example:: ALTER TYPE T_test1 MODIFY ATTRIBUTE "prop1" varchar2(500) INVALIDATE ;