Hi everybody!
I integrated OSB 11g with Sap Hana. So I use Sap Hana Driver ngdbc ver. 2.3.53 for that.
I use JCA for run sql command:
<endpoint-interaction portType="HanaUpdate_ptt" operation="HanaUpdate"> <interaction-spec className="oracle.tip.adapter.db.DBPureSQLInteractionSpec"> <property name="SqlString" value="UPDATE ZSR_TEST.TBL_USERS SET NAME=#PNAME WHERE ID=#PID"/> <property name="GetActiveUnitOfWork" value="false"/> </interaction-spec> <input/> </endpoint-interaction> |
and it works.
Now I want to call simple Sap Hana stored procedure ZSR_TEST.GETUSER
CREATE PROCEDURE ZSR_TEST.GETUSER ( IN id varchar(5), OUT resultCode varchar(5) ) LANGUAGE SQLSCRIPT READS SQL DATA AS BEGIN resultCode = '0'; END; |
so I use another one JCA:
<endpoint-interaction portType="HanaProc_ptt" operation="HanaProc"> <interaction-spec className="oracle.tip.adapter.db.DBStoredProcedureInteractionSpec"> <property name="ProcedureName" value="ZSR_TEST.GETUSER"/> <property name="QueryTimeout" value="60"/> <property name="GetActiveUnitOfWork" value="false"/> </interaction-spec> <output/> </endpoint-interaction> |
When I run Businiess Service for this JCA, I have fault:
BINDING.JCA-11811 Stored procedure invocation error. Error while trying to prepare and execute the ZSR_TEST.GETUSER API. An error occurred while preparing and executing the ZSR_TEST.GETUSER API. Cause: com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [257]: sql syntax error: incorrect syntax near "BEGIN": line 1 col 1 (at pos 1) Check to ensure that the API is defined in the database and that the parameters match the signature of the API. ConnectionFactory property platformClassName was set to org.eclipse.persistence.platform.database.oracle.Oracle10Platform but the database you are connecting to is HDB. Please validate your platformClassName setting. This mismatch can cause the adapter to trigger runtime exceptions or execute SQL that is invalid for the database you are connected to. This exception is considered not retriable, likely due to a modelling mistake. To classify it as retriable instead add property nonRetriableErrorCodes with value "-257" to your deployment descriptor (i.e. weblogic-ra.xml). To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff. All properties are integers. |
Could you please help me what is the reason and how fix it?