Stored Procedure Error ORA-06550: line 1, column 7: PL/SQL: Statement ignored

Hi,

 

I have been trying to use execute stored procedure smart service but when I followed the same use case mentioned in Documentation for Stored Procedure with SP_BOOKLIST, while using the smart Service in Process I got the error:

ORA-06550: line 1, column 7:PLS-00306: wrong number or types of arguments in call to 'SP_LISTBOOKS'ORA-06550: line 1, column 7:PL/SQL: Statement ignored

 

When I am following the same in function as per documentation, I am getting the error:

Interface Definition: Expression evaluation error : Invalid index: Cannot index property '_foundation' of type Text into type List of Variant:

Attached is the code, I used in interface Rule

=with(
local!spResult: fn!executestoredprocedure(
"jdbc/OracleDataSource",
"SP_LISTBOOKS",
{
{name: "title_search", value: "%pig%"}
}
),
if(local!spResult.success,
local!spResult.result,
local!spResult.error
)
)

I also checked permission in Oracle DB & the connection type is "Basic" & role is "Default".

Can anyone please guide where I am getting it wrong & how can I fix it?

Thanks

Rishu

  Discussion posts and replies are publicly visible

  • Thanks a lot. The issue was on input as I was input field name was in Capital letters in Oracle & in input I was taking it in small letter.

    Also, I am getting the response : [success:true,error:,parameters:[BOOKS_CURSOR:[quantity:23,author:Collectif,price:3.74,title:Peppa Pig: Fun at the Fair]; [quantity:7,author:Judith Simanovsky,price:4.99,title:Panda Goes to the Olympics]],result:] But I need to save the values of BOOKS_CURSOR in Books CDT which has quantity, author,price & title fields. Can you please guide how can I do it?
  • Create a CDT with the same column names that you are returning from SP. The you can collect the result into that CDT. As you are getting quantity,author,price,title, create a CDT with these fields with same name and type.
  • There are two different ways to execute a stored procedure. The first and most common approach is for an application or user to call the procedure. The second approach is to set the procedure to run automatically when an instance of SQL Server starts. When a procedure is called by an application or user, the Transact-SQL EXECUTE or EXEC keyword is explicitly stated in the call. The procedure can be called and executed without the EXEC keyword if the procedure is the first statement in the Transact-SQL batch. slope unblocked