Simplifier 4.5 cannot read CLOB from Oracle DB?

  • Niklas
        3 years ago #26661

        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 Häfner
            Has successfully completed the online course Intermediate (200)
            Has successfully completed the online course Advanced (300)
            Has successfully completed the online course Basics (100)
            Has successfully completed the online course Advanced (310)
            Has successfully completed the online course Advanced (320)
            Has successfully completed the Intermediate Certification
            Has successfully completed the Advanced Certification
          3 years ago #26760
          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
              3 years ago #26829
              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.