2014-07-22 17:25 GMT+02:00 sandeepreddip <[email protected]>:
> Hi,
> I'm trying to insert a list of data to a table using MyBatis Batch.The query
> seems to be fine as I was able to insert the data successfully from a a SQL
> client, but fails with MyBatis.
>
>
> Below are the Camel DSL Route, Mapper Query, SQL Log  and Exception trace
> and SQL Query that run successfully on client. I researched but couldn't
> find a solution as to what is causing it. I'm not interested in calling the
> query with ExecutorType.SIMPLE and then loop over in a java method ( as few
> suggested on web ). This would defeat the purpose of being able to iterate
> over a collection in MyBatis.
>
> I appreciate if you could shed some light on the issue.
>
> *Camel Route:*
>         from("timer:foo?period=10000")
>                                 .setHeader(Exchange.HTTP_METHOD, 
> constant(HttpMethods.GET))
>                                 .setHeader(Exchange.HTTP_URI,
> constant(RestURLs.TRANSACTION_BIDS_UNQUALIFIED_URL))
>                                 .process(new CamelGETMessageProcessor())
>                                 
> .to("restlet:http://localhost:8080/app/cts/transactionbids";)
>                                 .unmarshal(jaxbDataFormat)
>                                 .process(new TransactionBidsProcessor())
>
> .to("mybatis:insertTransactionBidDetail?statementType=InsertList*executor")
>                                 .end();
>
> *Mapper Query:*
> <insert id="insertTransactionBidDetail"
> parameterType="com.isone.cts.rest.binding.cts.TransactionBidsResponse">
>                 INSERT ALL
>                 <foreach item="p"
> collection="transactionBids.transactionBid"
>                         open="" close="" separator=")">
>                         into TRANSACTION_BIDS_DATA_T
>                         (message_request_id, transaction_source,
>                         transaction_sink, transaction_user_ref,
>                         gis_identifier, jess_etag_id)
>                         values(#{messageRequestID,jdbcType=NUMERIC},
>                         #{p.transactionSource,jdbcType=VARCHAR},
>                         #{p.transactionSink,jdbcType=VARCHAR},
>                         #{p.transactionUserRef,jdbcType=VARCHAR},
>                         #{p.gisIdentifier,jdbcType=VARCHAR},
>                         #{p.jessETagID,jdbcType=VARCHAR}
>                 </foreach>
>                 )SELECT * FROM dual
>
>         </insert>
>


What is 'SELECT * FROM dual' for ?

>
> *SQL Log*
> ### SQL: INSERT ALL          into    TRANSACTION_BIDS_DATA_T
> (message_request_id, transaction_source,    transaction_sink,
> transaction_user_ref,    gis_identifier, jess_etag_id)    values(?,    ?,
> ?,    ?,    ?,    ?    )     into    TRANSACTION_BIDS_DATA_T
> (message_request_id, transaction_source,    transaction_sink,
> transaction_user_ref,    gis_identifier, jess_etag_id)    values(?,    ?,
> ?,    ?,    ?,    ?    )     into    TRANSACTION_BIDS_DATA_T
> (message_request_id, transaction_source,    transaction_sink,
> transaction_user_ref,    gis_identifier, jess_etag_id)    values(?,    ?,
> ?,    ?,    ?,    ?    )     into    TRANSACTION_BIDS_DATA_T
> (message_request_id, transaction_source,    transaction_sink,
> transaction_user_ref,    gis_identifier, jess_etag_id)    values(?,    ?,
> ?,    ?,    ?,    ?    )     into    TRANSACTION_BIDS_DATA_T
> (message_request_id, transaction_source,    transaction_sink,
> transaction_user_ref,    gis_identifier, jess_etag_id)    values(?,    ?,
> ?,    ?,    ?,    ?    )     into    TRANSACTION_BIDS_DATA_T
> (message_request_id, transaction_source,    transaction_sink,
> transaction_user_ref,    gis_identifier, jess_etag_id)    values(?,    ?,
> ?,    ?,    ?,    ?    )     into    TRANSACTION_BIDS_DATA_T
> (message_request_id, transaction_source,    transaction_sink,
> transaction_user_ref,    gis_identifier, jess_etag_id)    values(?,    ?,
> ?,    ?,    ?,    ?    )     into    TRANSACTION_BIDS_DATA_T
> (message_request_id, transaction_source,    transaction_sink,
> transaction_user_ref,    gis_identifier, jess_etag_id)    values(?,    ?,
> ?,    ?,    ?,    ?    )     into    TRANSACTION_BIDS_DATA_T
> (message_request_id, transaction_source,    transaction_sink,
> transaction_user_ref,    gis_identifier, jess_etag_id)    values(?,    ?,
> ?,    ?,    ?,    ?    )     into    TRANSACTION_BIDS_DATA_T
> (message_request_id, transaction_source,    transaction_sink,
> transaction_user_ref,    gis_identifier, jess_etag_id)    values(?,    ?,
> ?,    ?,    ?,    ?    )     into    TRANSACTION_BIDS_DATA_T
> (message_request_id, transaction_source,    transaction_sink,
> transaction_user_ref,    gis_identifier, jess_etag_id)    values(?,    ?,
> ?,    ?,    ?,    ?    )     into    TRANSACTION_BIDS_DATA_T
> (message_request_id, transaction_source,    transaction_sink,
> transaction_user_ref,    gis_identifier, jess_etag_id)    values(?,    ?,
> ?,    ?,    ?,    ?    )     into    TRANSACTION_BIDS_DATA_T
> (message_request_id, transaction_source,    transaction_sink,
> transaction_user_ref,    gis_identifier, jess_etag_id)    values(?,    ?,
> ?,    ?,    ?,    ?    )     into    TRANSACTION_BIDS_DATA_T
> (message_request_id, transaction_source,    transaction_sink,
> transaction_user_ref,    gis_identifier, jess_etag_id)    values(?,    ?,
> ?,    ?,    ?,    ?    )     into    TRANSACTION_BIDS_DATA_T
> (message_request_id, transaction_source,    transaction_sink,
> transaction_user_ref,    gis_identifier, jess_etag_id)    values(?,    ?,
> ?,    ?,    ?,    ?        )SELECT * FROM dual
>
> Below is the exception thrown.
>
> [Camel (camel-1) thread #0 - timer://foo] DEBUG
> org.apache.camel.processor.DefaultErrorHandler  - Failed delivery for
> (MessageId: ID-sporeddy-53230-1406038955619-0-9 on ExchangeId:
> ID-sporeddy-53230-1406038955619-0-8). On delivery attempt: 0 caught:
> org.apache.ibatis.exceptions.PersistenceException:
> ### Error committing transaction.  Cause:
> org.apache.ibatis.executor.BatchExecutorException:
> transactionBidsMapper.insertTransactionBidDetail (batch index #1) failed.
> Cause: java.sql.BatchUpdateException: ORA-00933: SQL command not properly
> ended
>
> ### Cause: org.apache.ibatis.executor.BatchExecutorException:
> transactionBidsMapper.insertTransactionBidDetail (batch index #1) failed.
> Cause: java.sql.BatchUpdateException: ORA-00933: SQL command not properly
> ended
>
>
> *SQL Query on client
> *
>
> INSERT ALL
> INTO TRANSACTION_BIDS_DATA_T
>   (
>     message_request_id,
>     transaction_source,
>     transaction_sink,
>     transaction_user_ref,
>     gis_identifier,
>     jess_etag_id
>   )
>   VALUES
>   (
>     1406037318681,
>     'NODEISONE14',
>     'NODENYISO0',
>     'USERREFGPKL44220',
>     'HASHMASHSMASH',
>     'SCA_PSE _1110RCA'
>   )
> INTO TRANSACTION_BIDS_DATA_T
>   (
>     message_request_id,
>     transaction_source,
>     transaction_sink,
>     transaction_user_ref,
>     gis_identifier,
>     jess_etag_id
>   )
>   VALUES
>   (
>     1406037318681,
>     'NODEISONE14',
>     'NODENYISO0',
>     'USERREFGPKL44220',
>     'HASHMASHSMASH',
>     'SCA_PSE _1110RCA'
>   )
> INTO TRANSACTION_BIDS_DATA_T
>   (
>     message_request_id,
>     transaction_source,
>     transaction_sink,
>     transaction_user_ref,
>     gis_identifier,
>     jess_etag_id
>   )
>   VALUES
>   (
>     1406037318681,
>     'NODEISONE14',
>     'NODENYISO0',
>     'USERREFGPKL44220',
>     'HASHMASHSMASH',
>     'SCA_PSE _1110RCA'
>   )
> INTO TRANSACTION_BIDS_DATA_T
>   (
>     message_request_id,
>     transaction_source,
>     transaction_sink,
>     transaction_user_ref,
>     gis_identifier,
>     jess_etag_id
>   )
>   VALUES
>   (
>     1406037318681,
>     'NODEISONE14',
>     'NODENYISO0',
>     'USERREFGPKL44220',
>     'HASHMASHSMASH',
>     'SCA_PSE _1110RCA'
>   )
> SELECT * FROM dual
>
>
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/Camel-2-13-1-MyBatis-Batch-Insert-to-Oracle-11g-Table-ORA-00933-SQL-command-not-properly-ended-tp5754248.html
> Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to