Hello Guys,
In an ODI mapping I am reading from 2 DB tables and writing to a file with LKM SQL to FILE.
However, during execution getting below error. Any idea?
Code Generated:
=================
INSERT INTO "D:\Project_Docs\BankMed\ODI\Dev\WorkSpace.MIB_DE_HEADERFILE"
VALUES
(
:BRANCH_CODE ,
:SOURCE_CODE ,
:BATCH_NO ,
:BATCH_DESC ,
:USER_ID ,
:BALANCING ,
:UPLOAD_STAT ,
:AUTH_STAT ,
:RECORD_STAT ,
:ONCE_AUTH
)
/*$$SNPS_START_KEYSNP$CRDWG_TABLESNP$CRTABLE_NAME=MIB_DE_HEADERFILESNP$CRLOAD_FILE=D:\Project_Docs\BankMed\ODI\Dev\WorkSpace/MIB.txtSNP$CRFILE_FORMAT=DSNP$CRFILE_SEP_FIELD=0x002cSNP$CRFILE_SEP_LINE=0x000ASNP$CRFILE_FIRST_ROW=0SNP$CRFILE_ENC_FIELD=SNP$CRFILE_DEC_SEP=SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=BRANCH_CODESNP$CRTYPE_NAME=STRINGSNP$CRORDER=1SNP$CRLENGTH=9SNP$CRPRECISION=9SNP$CRACTION_ON_ERROR=NULLSNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=SOURCE_CODESNP$CRTYPE_NAME=STRINGSNP$CRORDER=2SNP$CRLENGTH=15SNP$CRPRECISION=15SNP$CRACTION_ON_ERROR=NULLSNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=BATCH_NOSNP$CRTYPE_NAME=STRINGSNP$CRORDER=3SNP$CRLENGTH=4SNP$CRPRECISION=4SNP$CRACTION_ON_ERROR=NULLSNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=BATCH_DESCSNP$CRTYPE_NAME=STRINGSNP$CRORDER=4SNP$CRLENGTH=105SNP$CRPRECISION=105SNP$CRACTION_ON_ERROR=NULLSNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=USER_IDSNP$CRTYPE_NAME=STRINGSNP$CRORDER=5SNP$CRLENGTH=12SNP$CRPRECISION=12SNP$CRACTION_ON_ERROR=NULLSNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=BALANCINGSNP$CRTYPE_NAME=STRINGSNP$CRORDER=6SNP$CRLENGTH=1SNP$CRPRECISION=1SNP$CRACTION_ON_ERROR=NULLSNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=UPLOAD_STATSNP$CRTYPE_NAME=STRINGSNP$CRORDER=7SNP$CRLENGTH=1SNP$CRPRECISION=1SNP$CRACTION_ON_ERROR=NULLSNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=AUTH_STATSNP$CRTYPE_NAME=STRINGSNP$CRORDER=8SNP$CRLENGTH=1SNP$CRPRECISION=1SNP$CRACTION_ON_ERROR=NULLSNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=RECORD_STATSNP$CRTYPE_NAME=STRINGSNP$CRORDER=9SNP$CRLENGTH=1SNP$CRPRECISION=1SNP$CRACTION_ON_ERROR=NULLSNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=ONCE_AUTHSNP$CRTYPE_NAME=STRINGSNP$CRORDER=10SNP$CRLENGTH=1SNP$CRPRECISION=1SNP$CRACTION_ON_ERROR=NULLSNP$CR$$SNPS_END_KEY*/
Error:
=================
oracle.odi.runtime.agent.exception.ExecutionEngineException: java.sql.SQLException: ODI-40480: Malformed INSERT statement.
at oracle.odi.runtime.agent.execution.sql.SQLCommand.doInitializeStatement(SQLCommand.java:118)
at oracle.odi.runtime.agent.execution.sql.SQLCommand.getStatement(SQLCommand.java:147)
at oracle.odi.runtime.agent.execution.sql.SQLCommand.getBatchCommand(SQLCommand.java:389)
at oracle.odi.runtime.agent.execution.sql.SQLCommand.processRecord(SQLCommand.java:167)
at oracle.odi.runtime.agent.execution.sql.SQLCommand.processRecord(SQLCommand.java:37)
at oracle.odi.runtime.agent.execution.Executor.performAction(Executor.java:444)
at oracle.odi.runtime.agent.execution.Executor.handleDataMovementTask(Executor.java:334)
at oracle.odi.runtime.agent.execution.DataMovementTaskExecutionHandler.handleTask(DataMovementTaskExecutionHandler.java:51)
at oracle.odi.runtime.agent.execution.SessionTask.processTask(SessionTask.java:206)
at oracle.odi.runtime.agent.execution.SessionTask.doExecuteTask(SessionTask.java:117)
at oracle.odi.runtime.agent.execution.AbstractSessionTask.execute(AbstractSessionTask.java:886)
at oracle.odi.runtime.agent.execution.SessionExecutor$SerialTrain.runTasks(SessionExecutor.java:2225)
at oracle.odi.runtime.agent.execution.SessionExecutor.executeSession(SessionExecutor.java:610)
at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:718)
at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:611)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:203)
at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor.doProcessStartAgentTask(TaskExecutorAgentRequestProcessor.java:800)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$1400(StartSessRequestProcessor.java:74)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:702)
at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:180)
at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:108)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLException: ODI-40480: Malformed INSERT statement.
at com.sunopsis.jdbc.driver.file.SQLManager.buildInsertValues(SQLManager.java:132)
at com.sunopsis.jdbc.driver.file.SQLManager.buildRowFromInsert(SQLManager.java:392)
at com.sunopsis.jdbc.driver.file.FilePreparedStatement.buildGenericRow(FilePreparedStatement.java:75)
at com.sunopsis.jdbc.driver.file.FilePreparedStatement.<init>(FilePreparedStatement.java:56)
at com.sunopsis.jdbc.driver.file.FileConnection.prepareStatement(FileConnection.java:379)
at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at oracle.odi.core.datasource.dwgobject.support.OnConnectOnDisconnectDataSourceAdapter$OnDisconnectCommandExecutionHandler.invoke(OnConnectOnDisconnectDataSourceAdapter.java:231)
at com.sun.proxy.$Proxy31.prepareStatement(Unknown Source)
at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sunopsis.sql.SnpsConnection$ConnectionProxyInvocationHandler.invoke(SnpsConnection.java:143)
at com.sun.proxy.$Proxy34.prepareStatement(Unknown Source)
at oracle.odi.runtime.agent.execution.sql.SQLCommand.doInitializeStatement(SQLCommand.java:104)
... 21 more