on 03-21-2023 11:16 PM
Dear experts.
I hope all is well with you.
We have an iFlow that is sending data to HANA On-Premise via JDBC Receiver adapter.
The columns of the table are:
PROMO_ID
PROMO_NAME
CONDITION
We are creating the following XML SQL Format:
<?xml version="1.0" encoding="UTF-8"?>
<ns1:root xmlns:ns1="urn:mysite">
<Statement>
<dbTableName action="INSERT">
<table>"ZBIC"."Z_BP_PROMOTIONS"</table>
<access>
<PROMO_ID>1ZZ1N8S0</PROMO_ID>
<PROMO_NAME>2022 10% off Net</PROMO_NAME>
<CONDITION>ABV</CONDITION>
</access>
</dbTableName>
</Statement>
</ns1:root>
When the JDBC Receiver sends this XML to HANA, we receive this error:
We researched about that and we found that this CONDITION name (one of the table columns) is a reserved word from SAP HANA.
To better understand, ee tried to perform the same insert command in the HANA Studio and we have the same problem/error. If we put the column name CONDITION between double quotation marks, it works in the HANA Studio.
The question is:
Do you know how we can tell the JDBC Receiver adapter that we need a double quotation mark in this column when the adapter generates the INSERT command to send to HANA?
Perphaps some attribute or command in the XML SQL Format...
We tried to use the attributes ColumnNameAsTag="false" and hasQuot=YES with no success.
We're considering two workarounds:
- Create a stored procedure in HANA to receive the data "masking" this column CONDITION
- Create the insert command via Groovy script.
However we're trying a less invasive solution.
I appreciate any insight, idea or information on that.
Thanks in advcance.
Fellipe
You may have to support native sql format rather than XML SQL format due to this constraint. Did you check in that direction?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
70 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.