Mendix retrieve gets an Oracle ORA-00932 error

3
In a webservice an order is updated or created. During the retrieve of the order the microflow in Mendix returns an error from the Oracle database. See the error below. The same operation in the development environment with the Mendix buildin database works fine. Mendix version: 5.9.1. Anyone has an idea? com.mendix.integration.WebserviceException: Internal server error at com.mendix.gD.a(SourceFile:120) at com.mendix.gC$a.apply$mcV$sp(SourceFile:19) at com.mendix.gC$a.apply(SourceFile:16) at com.mendix.gC$a.apply(SourceFile:16) at com.mendix.core.session.Worker$$anonfun$receive$3$$anonfun$2$$anon$1.execute(SourceFile:158) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(SourceFile:36) at com.mendix.core.session.Worker$$anonfun$receive$3$$anonfun$2.apply(SourceFile:160) at scala.util.Try$.apply(Try.scala:191) at com.mendix.core.session.Worker$$anonfun$receive$3.applyOrElse(SourceFile:154) at akka.actor.Actor$class.aroundReceive(Actor.scala:465) at com.mendix.core.session.Worker.aroundReceive(SourceFile:147) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) at akka.actor.ActorCell.invoke(ActorCell.scala:487) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238) at akka.dispatch.Mailbox.run(Mailbox.scala:220) at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) Caused by: com.mendix.core.CoreException: com.mendix.modules.microflowengine.MicroflowException: com.mendix.systemwideinterfaces.connectionbus.ConnectionBusException: An exception has occurred for the following request(s): dj (depth = 0, amount = 1): //DWH.Order[OrderNummer = '456019402'] at Integraties.HaalOrderOp (RetrieveByXPath : 'Haal order op') at Integraties.OntvangOrder (SubMicroflow : 'Haal order op') Advanced stacktrace: at com.mendix.core.component.InternalCore.execute(SourceFile:382) Caused by: com.mendix.modules.microflowengine.MicroflowException: com.mendix.systemwideinterfaces.connectionbus.ConnectionBusException: An exception has occurred for the following request(s): dj (depth = 0, amount = 1): //DWH.Order[OrderNummer = '456019402'] at Integraties.HaalOrderOp (RetrieveByXPath : 'Haal order op') at Integraties.OntvangOrder (SubMicroflow : 'Haal order op') Advanced stacktrace: at com.mendix.modules.microflowengine.MicroflowUtil.processException(SourceFile:158) Caused by: com.mendix.core.CoreRuntimeException: com.mendix.systemwideinterfaces.connectionbus.ConnectionBusException: An exception has occurred for the following request(s): dj (depth = 0, amount = 1): //DWH.Order[OrderNummer = '456019402'] at com.mendix.core.actionmanagement.ActionManager.executeSync(SourceFile:210) Caused by: com.mendix.systemwideinterfaces.connectionbus.ConnectionBusException: An exception has occurred for the following request(s): dj (depth = 0, amount = 1): //DWH.Order[OrderNummer = '456019402'] at com.mendix.l.a(SourceFile:51) Caused by: com.mendix.systemwideinterfaces.connectionbus.ConnectionBusException: Exception occurred while retrieving data. (SQL State: 42000, Error Code: 932) at com.mendix.q.a(SourceFile:1467) Caused by: java.sql.SQLSyntaxErrorException: ORA-00932: inconsistente gegevenstypen: - verwacht, NCLOB gekregen at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:884) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1167) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1289) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3628) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1493) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) at com.mendix.q.a(SourceFile:343) at com.mendix.q.a(SourceFile:226) at com.mendix.q.a(SourceFile:170) at com.mendix.q.a(SourceFile:157) at com.mendix.ch.a(SourceFile:183) at com.mendix.ch.a(SourceFile:138) at com.mendix.ch.a(SourceFile:62) at com.mendix.ck.a(SourceFile:71) at com.mendix.l.a(SourceFile:45) at com.mendix.connectionbus.ConnectionBusImpl.doRequest(SourceFile:346) at com.mendix.core.action.user.RetrieveXPathRawAction.retrieveXPathRaw(SourceFile:133) at com.mendix.core.action.user.RetrieveXPathRawAction.executeAction(SourceFile:74) at com.mendix.core.action.user.RetrieveXPathAction.executeAction(SourceFile:52) at com.mendix.core.action.user.RetrieveXPathAction.executeAction(SourceFile:17) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:53) at com.mendix.core.actionmanagement.CoreAction.doCall(SourceFile:291) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:276) at com.mendix.core.actionmanagement.ActionManager.executeSync(SourceFile:199) at com.mendix.core.component.InternalCore.retrieveXPathQuery(SourceFile:1329) at com.mendix.core.component.InternalCore.retrieveXPathQuery(SourceFile:1308) at com.mendix.hT.execute(SourceFile:65) at com.mendix.ik.a(SourceFile:47) at com.mendix.ij.a(SourceFile:193) at com.mendix.ij.executeAction(SourceFile:148) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:53) at com.mendix.core.actionmanagement.CoreAction.doCall(SourceFile:291) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:276) at com.mendix.core.actionmanagement.ActionManager.executeSync(SourceFile:199) at com.mendix.core.component.InternalCore.executeSync(SourceFile:235) at com.mendix.modules.microflowengine.actions.SubMicroflowAction.execute(SourceFile:33) at com.mendix.ik.a(SourceFile:47) at com.mendix.ij.a(SourceFile:193) at com.mendix.ij.executeAction(SourceFile:148) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:53) at com.mendix.core.actionmanagement.CoreAction.doCall(SourceFile:291) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:276) at com.mendix.core.actionmanagement.ActionManager.executeSync(SourceFile:199) at com.mendix.core.component.InternalCore.execute(SourceFile:378) at com.mendix.gD.a(SourceFile:96) at com.mendix.gC$a.apply$mcV$sp(SourceFile:19) at com.mendix.gC$a.apply(SourceFile:16) at com.mendix.gC$a.apply(SourceFile:16) at com.mendix.core.session.Worker$$anonfun$receive$3$$anonfun$2$$anon$1.execute(SourceFile:158) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(SourceFile:36) at com.mendix.core.session.Worker$$anonfun$receive$3$$anonfun$2.apply(SourceFile:160) at scala.util.Try$.apply(Try.scala:191) at com.mendix.core.session.Worker$$anonfun$receive$3.applyOrElse(SourceFile:154) at akka.actor.Actor$class.aroundReceive(Actor.scala:465) at com.mendix.core.session.Worker.aroundReceive(SourceFile:147) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) at akka.actor.ActorCell.invoke(ActorCell.scala:487) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238) at akka.dispatch.Mailbox.run(Mailbox.scala:220) at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
asked
1 answers
2

I've seen Oracle VARCHAR versus NCLOB errors, but usually on synchronize database.

The trick there is to alter the type before the startup of Mendix/synchronize database. Here is an example how to change the type from VARCHAR to NCLOB. If the reverse is needed you need to find out the size in the modeler to do a VARCHAR2(200) for example.

ALTER TABLE "oracle table name" ADD ("temp column name" nclob);

UPDATE "oracle table name" SET "temp column name"="error column name";
COMMIT;

ALTER TABLE "oracle table name" DROP ("error column name");

ALTER TABLE "oracle table name" RENAME COLUMN "temp column name" TO "error column name";
answered