Skip to Content

Unsupported DML / DDL on remote database object(s) - HANA Procedure

Hello,

I'm trying to do an insert with a procedure in SAP HANA. The code of the procedure is :

CREATE PROCEDURE "T4LWEBAll"."T4LWEBALL.procedures::insert_participant" (  	IN tex VARCHAR(1), birthyear INT, part_language VARCHAR(255), person_id INT, email VARCHAR(250)) 	

LANGUAGE SQLSCRIPT                 
SQL SECURITY INVOKER                 AS 	 
BEGIN 

DECLARE email_lenght INT := LENGTH(email); 
DECLARE at_index INT := LOCATE(email, '@'); 
DECLARE local_part VARCHAR(250) := SUBSTRING(email, 1, at_index); <br>DECLARE domain_name VARCHAR(250) := SUBSTRING(email, at_index+2, email_lenght-at_index+1);  <br>DECLARE anonymised_id 	VARBINARY := "T4LWEBALL"."T4LWEBALL.functions::hash_email"(local_part, domain_name); <br>DECLARE identity_id INT; 
 
INSERT INTO "participants" ("anonymised_id") VALUES (anonymised_id); <br>SELECT CURRENT_IDENTITY_VALUE() AS "identity_id"   FROM "participants" ;  <br>INSERT INTO "sociodemos" ("participant_id", "person_id", "tex", "birthyear", "language") VALUES (identity_id, person_id, tex, birthyear, part_language); END;

But when I try to call that procedure :

CALL "T4LWEBALL"."T4LWEBALL"."procedures::insert_participant"('M', 1990, 'french', 11, 'yoyoyaya.ca');

I have this error and I can't figure out what it means and how to fix it? Any help please?

Could not execute 'CALL "T4LWEBALL"."T4LWEBALL"."procedures::insert_participant"('M', 1990, 'french', 11, ...'
SAP DBTech JDBC: [7]: feature not supported: Unsupported DML / DDL on remote database object(s)
Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Apr 10 at 05:21 PM

    Is "participants" a actual table (not virtual table) in the local tenant? From that error it seems to indicate that its remote. That looks like the error when this table is from another tenant.

    Add comment
    10|10000 characters needed characters exceeded

  • Aug 30 at 10:42 PM

    The name of your Procedure is: "T4LWEBAll"."T4LWEBALL.procedures::insert_participant" but you called via SQL 'CALL "T4LWEBALL"."T4LWEBALL"."procedures::insert_participant"('M', 1990, 'french', 11, ...' Notice what appears to be a double schema name in the stored procedure call statement. HANA thinks you are using a remote source because of this format but in fact its just a typo. Change your call statement to: 'CALL "T4LWEBALL"."T4LWEBALL.procedures::insert_participant"('M', 1990, 'french', 11, ...'

    Add comment
    10|10000 characters needed characters exceeded