cancel
Showing results for 
Search instead for 
Did you mean: 

Problem setting up SDI with camel/jdbc/mysql

onivaldo_valentin
Discoverer

I'm configuring the SDI to connect to a MySQL database. I did all the steps shown in manual and at the moment I can normally access the tables of the database using the remote source.

However, for tables that have columns of type date, datetime, time, timespamp I'm getting an error

org.jkiss.dbeaver.model.sql.DBSQLException: SQL Error [403] [HY000]: SAP DBTech JDBC: [403]: internal error: Remote execution error Camel execution failed. for query "SELECT "a"."col1", "a"."col2" FROM "table" "a" "
	at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:133)
	at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeStatement(SQLQueryJob.java:513)
	at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.lambda$0(SQLQueryJob.java:444)
	at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:171)
	at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:431)
	at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.extractData(SQLQueryJob.java:816)
	at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:3280)
	at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:118)
	at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:171)
	at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:116)
	at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:4686)
	at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:105)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [403]: internal error: Remote execution error Camel execution failed. for query "SELECT "a"."col1", "a"."col2" FROM "table" "a" "

When searching the "framework.trc" file in the dpagent logs folder, the error is shown.

2021-07-20 17:53:48,623 [INFO ] DPFramework | MemoryBoundedQueue.reset  - AHSQ(129): [Pool: max=3.11gb,cur=0b,peak=7.78mb,tot=179.03mb; Queue: cur=0(0b),peak=1(3.89mb),tot=25(89.51mb)]
2021-07-20 17:53:48,623 [INFO ] DPFramework | MemoryBoundedQueuePool.removeQueue  - SQP: AHSQ(129) Removed
2021-07-20 17:53:48,623 [INFO ] DPFramework | MemoryBoundedQueue.reset  - AHRQ(129): [Pool: max=3.11gb,cur=0b,peak=1.61mb,tot=5.31mb; Queue: cur=0(0b),peak=14(1.61mb),tot=25(2.65mb)]
2021-07-20 17:53:48,623 [INFO ] DPFramework | MemoryBoundedQueuePool.removeQueue  - RQP: AHRQ(129) Removed
2021-07-20 17:53:48,623 [INFO ] DPFramework | AsyncHandler.close  - AH(129): Stream Complete: [rows=230000,time=310636ms (rewrite=0ms,execute=0ms,fetch=827ms,serialize=1906ms,send=1906ms)]
2021-07-20 17:53:48,623 [INFO ] DPFramework | AsyncHandler.start  - AH(131): Started
2021-07-20 17:53:48,623 [INFO ] DPFramework | MemoryBoundedQueuePool.getQueue  - RQP: AHRQ(131) Added
2021-07-20 17:53:48,623 [INFO ] DPFramework | MemoryBoundedQueuePool.getQueue  - SQP: AHSQ(131) Added
2021-07-20 17:53:48,623 [INFO ] DPFramework | AsyncHandler.executeStatement  - AH(131): Streaming SQL: SELECT "a"."col1", "a"."col2" FROM "table" "a" 
2021-07-20 17:53:48,623 [INFO ] DPFramework | WorkerThread.setFedRequestParameters  - Setting fetch size to 10000 rows based on max row size = 30 bytes, max data size = 10485760 bytes
2021-07-20 17:53:48,654 [INFO ] DPFramework | AsyncHandler.processStreamingSelect  - AH(131): Setting fetchsize (async/normal): 10000/10000
2021-07-20 17:53:49,373 [INFO ] DPFramework | AsyncHandler.fetchRows  - AH(131): Queued 110000 total rows
2021-07-20 17:53:49,467 [INFO ] DPFramework | AsyncHandler.fetchRows  - AH(131): Queued 220000 total rows
2021-07-20 17:53:49,482 [ERROR] DefaultErrorHandler | CamelLogger.log  - Failed delivery for (MessageId: ID-XXXXXXXXXX-1626814060909-0-3 on ExchangeId: ID-XXXXXXXXXX-1626814060909-0-3). Exhausted after delivery attempt: 1 caught: Unparseable date: "2016-02-23T10:29:22"
                                Message History (complete message history is disabled)
                                ---------------------------------------------------------------------------------------------------------------------------------------
                                RouteId              ProcessorId          Processor                                                                        Elapsed (ms)
                                [route1            ] [route1            ] [from[direct://sda]                                                            ] [       828]
                                ...
                                [route1            ] [to4               ] [dpresult:dpresult                                                             ] [         0]
                                Stacktrace
                                ---------------------------------------------------------------------------------------------------------------------------------------
                                Unparseable date: "2016-02-23T10:29:22"
                                	at com.sap.hana.dp.adapter.sdk.Timestamp.<init>(Timestamp.java:78)
                                	at com.sap.hana.dp.adapter.sdk.AdapterRowElement.setValue(AdapterRowElement.java:1194)
                                	at com.sap.hana.dp.adapter.sdk.AdapterRow.setColumnValue(AdapterRow.java:596)
                                	at com.sap.hana.dp.camel.ResultProducer$AbstractExtractor.setColumnValue(ResultProducer.java:183)
                                	at com.sap.hana.dp.camel.ResultProducer$MapExtractor.extract(ResultProducer.java:319)
                                	at com.sap.hana.dp.camel.ResultProducer.extractRowSet(ResultProducer.java:96)
                                	at com.sap.hana.dp.camel.ResultProducer.process(ResultProducer.java:53)
                                	at org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:67)
                                	at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:168)
                                	at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
                                	at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
                                	at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:60)
                                	at org.apache.camel.processor.Pipeline.process(Pipeline.java:147)
                                	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:286)
                                	at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:66)
                                	at org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:212)
                                	at org.apache.camel.impl.engine.DefaultProducerCache.asyncDispatchExchange(DefaultProducerCache.java:347)
                                	at org.apache.camel.impl.engine.DefaultProducerCache.lambda$doAsyncSendExchange$0(DefaultProducerCache.java:247)
                                	at org.apache.camel.impl.engine.DefaultProducerCache.doInAsyncProducer(DefaultProducerCache.java:309)
                                	at org.apache.camel.impl.engine.DefaultProducerCache.doAsyncSendExchange(DefaultProducerCache.java:256)
                                	at org.apache.camel.impl.engine.DefaultProducerCache.asyncSendExchange(DefaultProducerCache.java:238)
                                	at org.apache.camel.impl.engine.DefaultProducerTemplate.lambda$asyncSendExchange$3(DefaultProducerTemplate.java:749)
                                	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                                	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                                	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                                	at java.lang.Thread.run(Thread.java:836)
                                Caused by: java.text.ParseException: Unparseable date: "2016-02-23T10:29:22"
                                	at java.text.DateFormat.parse(DateFormat.java:366)
                                	at com.sap.hana.dp.adapter.sdk.Timestamp.<init>(Timestamp.java:74)
                                	... 25 more
2021-07-20 17:53:50,498 [ERROR] DPFramework | AsyncHandler.processStreamingExecuteStatement  - AH(131): Exception while processing request "SDA Response for CamelJdbcAdapter of type SUCCESS_MSG responding to FEDERATION_GET_NEXT"
2021-07-20 17:53:50,498 [ERROR] DPFramework | AsyncHandler.processStreamingExecuteStatement  - AH(131): com.sap.hana.dp.adapter.sdk.AdapterException: Camel execution failed. Context: org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[ID-XXXXXXXXXX-1626814060909-0-3]
                                at org.apache.camel.CamelExecutionException.wrapCamelExecutionException(CamelExecutionException.java:47)
                                at org.apache.camel.support.ExchangeHelper.extractResultBody(ExchangeHelper.java:693)
                                at org.apache.camel.impl.engine.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:568)
                                at org.apache.camel.impl.engine.DefaultProducerTemplate.lambda$asyncRequestBody$2(DefaultProducerTemplate.java:732)
                                at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
                                at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
                                at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
                                at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
                                at org.apache.camel.impl.engine.DefaultProducerCache.lambda$doAsyncSendExchange$3(DefaultProducerCache.java:256)
                                at org.apache.camel.impl.engine.DefaultProducerCache.lambda$doInAsyncProducer$4(DefaultProducerCache.java:320)
                                at org.apache.camel.AsyncCallback.run(AsyncCallback.java:46)
                                at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
                                at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:60)
                                at org.apache.camel.proces...
2021-07-20 17:53:50,498 [INFO ] DPFramework | AsyncHandler.run  - AH(131): Stopped

I tried to make changes to the jdbc string without success

jdbc:mysql://myserver:3306/myschema?sessionVariables=sql_mode=ANSI_QUOTESνllCatalogMeansCurrent=true&zeroDateTimeBehavior=convertToNull&useLegacyDatetimeCode=true&useTimezone=true&noTimezoneConversionForDateType=false&useFastDateParsing=false

I also tried changing the file (DPAGENT_HOME\camel\sample-jdbc-dialect), to convert the problem types directly to string (nvarchar), but i got the same error. Below changed lines of the file...

<Mapping srcType="DATE" length="" precision="" scale="" hanaType="NVARCHAR" />
<Mapping srcType="DATETIME" length="" precision="" scale="" hanaType="NVARCHAR" />
<Mapping srcType="TIME" length="" precision="" scale="" hanaType="NVARCHAR" />
<Mapping srcType="TIMESTAMP" length="" precision="" scale="" hanaType="NVARCHAR" />
View Entire Topic
hugo_amo
Employee
Employee
0 Kudos

Hi Onivaldo,

This seems to be the issue detailed in SAP Note:

3076509- Camel adapter fails due to quotes in extra double quotes in remote object

although I am not an expert on SDI. It might worth a try.

Regards,

Hugo

former_member701856
Participant
0 Kudos

Hello Hugo,

The SAP note 3076509 is currently being updated:

Do you know any alternative?

Thanks.

Best regards.