Simplifier 4.5 cannot read CLOB from Oracle DB?

  • Niklas
    Participant
    • Topics: 5
    • Replies: 7
    # 1 month ago

    Hello,

    we have an SQL Connector connected to an Oracle DB.
    The table in the Oracle DB has a column with the type CLOB. We can read any column but if we include the column with the type CLOB, a timeout with an error occurs. Even though the same query runs in less than a second on the DBMS.

    The environment looks like this:

    DB: Oracle DB
    Data Type: CLOB
    Simplifier: Version 4.5
    System library: OpenUI5 1.44
    Browser: Chrome 90.0.4430.212

    The error:

    {

    “entry”:{

    “userRef”:1201,

    “userLogin”:”***@***.de”,

    “token”:”9a8f3f148bb4de6f107664acd83967f7a7ddb4c0d2ccdc3f2462924f8311690c”,

    “entryDate”:”2021-05-12T11:36:21.888+02:00″,

    “level”:{

    “i”:3,

    “name”:null

    },

    “messageKey”:”Exec_ConnectorCall_Failed”,

    “messageParams”:[

    “***_Oracle_SQL_Connector_AnonymousAccess_Copy”,

    “get_abl***”

    ],

    “category”:{

    “i”:2,

    “name”:”Execution”

    },

    “details”:”{\n  \”error\”:\”Connector ***_Oracle_SQL_Connector_AnonymousAccess_Copy timed out after 600 Seconds\”,\n  \”parameters\”:{\n    \”mode\”:{\n      \”dataType\”:\”String\”,\n      \”const\”:\”query\”\n    },\n    \”request\”:{\n      \”dataType\”:\”String\”,\n      \”const\”:\”SELECT * FROM *** WHERE AG_ENABLED = ‘1’ ORDER BY AG_ID ASC\”\n    }\n  },\n  \”executionMetrics\”:{\n    \”begin\”:\”2021-05-12T11:26:13.863118331+02:00\”,\n    \”end\”:\”2021-05-12T11:36:21.886390568+02:00\”,\n    \”duration\”:\”608,023 s\”,\n    \”durationNano\”:608023272237\n  },\n  \”additionalExecutionProperties\”:{\n    \”names\”:{\n      \”connector\”:\”***_Oracle_SQL_Connector_AnonymousAccess_Copy\”,\n      \”connectorCall\”:\”get_***\”\n    },\n    \”sql\”:\”SELECT * FROM *** WHERE AG_ENABLED = ‘1’ ORDER BY AG_ID ASC\”\n  }\n}”,

    “context”:[

    {

    “contextType”:{

    “i”:3,

    “name”:”Connector”

    },

    “contextRef”:”***_Oracle_SQL_Connector_AnonymousAccess_Copy”

    }

    ]

    },

    “exception”:”java.sql.SQLRecoverableException: No more data to read from socket\n\tat oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1157)\n\tat oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:350)\n\tat oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:383)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:776)\n\tat oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:432)\n\tat oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:553)\n\tat oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:254)\n\tat oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:528)\n\tat org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:39)\n\tat org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:256)\n\tat org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:868)\n\tat org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435)\n\tat org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363)\n\tat org.apache.commons.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:134)\n\tat org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1533)\n\tat com.itizzimo.appServer.util.db.SquerylInit$.$anonfun$initWith$1(SquerylInit.scala:157)\n\tat org.squeryl.SessionFactory$.newSession(Session.scala:92)\n\tat org.squeryl.dsl.QueryDsl.inTransaction(QueryDsl.scala:100)\n\tat org.squeryl.dsl.QueryDsl.inTransaction$(QueryDsl.scala:98)\n\tat org.squeryl.PrimitiveTypeMode$.inTransaction(PrimitiveTypeMode.scala:40)\n\tat com.itizzimo.appServer.util.db.SquerylTransactionFactory.inTransaction(TransactionFactory.scala:53)\n\tat com.itizzimo.appServer.model.logging.LogEntryProvider.$anonfun$createLogEntry$1(LogEntryProvider.scala:25)\n\tat scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)\n\tat scala.util.Try$.apply(Try.scala:209)\n\tat com.itizzimo.appServer.model.logging.LogEntryProvider.createLogEntry(LogEntryProvider.scala:25)\n\tat com.itizzimo.appServer.util.logging.DatabaseSimplifierLogger.logRaw(DatabaseSimplifierLogger.scala:69)\n\tat com.itizzimo.appServer.util.logging.SimplifierLogger.log(SimplifierLogger.scala:76)\n\tat com.itizzimo.appServer.util.logging.SimplifierLogger.log$(SimplifierLogger.scala:73)\n\tat com.itizzimo.appServer.util.logging.DatabaseSimplifierLogger.log(DatabaseSimplifierLogger.scala:22)\n\tat com.itizzimo.appServer.util.logging.SimplifierLogger.error(SimplifierLogger.scala:48)\n\tat com.itizzimo.appServer.util.logging.SimplifierLogger.error$(SimplifierLogger.scala:47)\n\tat com.itizzimo.appServer.util.logging.DatabaseSimplifierLogger.error(DatabaseSimplifierLogger.scala:22)\n\tat com.itizzimo.appServer.controller.connector.ConnectorCallExecutionController$$anonfun$$nestedInanonfun$executeConnectorCall$4$1.applyOrElse(ConnectorCallExecutionController.scala:129)\n\tat com.itizzimo.appServer.controller.connector.ConnectorCallExecutionController$$anonfun$$nestedInanonfun$executeConnectorCall$4$1.applyOrElse(ConnectorCallExecutionController.scala:116)\n\tat scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:34)\n\tat scala.util.Failure.recover(Try.scala:230)\n\tat com.itizzimo.appServer.connector.execution.FutureFinishedExecution.$anonfun$recover$1(FutureFinishedExecution.scala:73)\n\tat scala.util.Success.$anonfun$map$1(Try.scala:251)\n\tat scala.util.Success.map(Try.scala:209)\n\tat scala.concurrent.Future.$anonfun$map$1(Future.scala:289)\n\tat scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)\n\tat scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)\n\tat scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)\n\tat akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)\n\tat akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:91)\n\tat scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)\n\tat scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)\n\tat akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:91)\n\tat akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40)\n\tat akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:43)\n\tat akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)\n\tat akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)\n\tat akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)\n\tat akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)\n”

    }

     

    The column in the DB looks like this:

    Mail Data Type CLOB

     

    Does anyone have experience with CLOB or BLOB data types in Simplifier. We were able to convert the type in the SQL Query to a CHAR. However it would be nice to also work with a CLOB or BLOB.

     

    Thank you in advance.

     

    Kind regards,

    Niklas

    Jennifer
    Moderator
    • Topics: 0
    • Replies: 23
    # 1 month ago
    Up
    1
    Down

    Hello Niklas,

    Unfortunately, Simplifier 4.5 does not support CLOB types in OracleDB.
    In the current version 6.0, the SQL connector logic has been adapted, so please consider updating your system to the latest Simplifier version to avoid this error.

    Niklas
    Participant
    • Topics: 5
    • Replies: 7
    # 1 month ago
    Up
    0
    Down

    Hello Jennifer,

     

    thank you for your reply. That is exactly what we needed to know.

     

    Kind regards,

    Niklas

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.