[英]Error while calling java stored procedure in oracle database
I have created a RunnableJar (a jar containing other third party jars like iText.jar, java classes, etc...) and I have upload that RunnableJar.jar in Oracle database using loadjava
. 我创建了一个RunnableJar(一个包含其他第三方jar的jar,例如iText.jar,java类等),并使用loadjava
在Oracle数据库中上传了该RunnableJar.jar。 In the jar i have main class GetOffer
in that i have one public String getOffer(String param1) { }
method and the use of this method is to create multiple pdf according to user selection and concat them. 在罐子中,我有主类GetOffer
,因为我有一个public String getOffer(String param1) { }
方法,该方法的用途是根据用户选择创建多个pdf并将它们连接起来。
Now I have created Stored procedure: 现在,我创建了存储过程:
create or replace function getOffer(param1 in varchar2) return varchar2
is language java name 'GetOffer.getOffer(java.lang.String) return java.lang.String';
And I have called this stored procedure using following call statement: 我使用以下调用语句调用了此存储过程:
SQL> VARIABLE myString VARCHAR2(20);
SQL> CALL getOffer("XYZ") INTO :myString
When calling the procedure I am getting the below error: 调用过程时,出现以下错误:
SQL> VARIABLE myString VARCHAR2(20);
SQL> CALL getOffer("XYZ") INTO :myString
2 ;
CALL getOffer("Any String") INTO :myString
*
ERROR at line 1:
ORA-06576: not a valid function or procedure name
How can I solve this problem? 我怎么解决这个问题?
The code you posted is creating a stored function, not a stored procedure. 您发布的代码正在创建存储功能,而不是存储过程。 If you want to call a function 如果要调用一个函数
SELECT getOffer('xyz')
INTO :myString
FROM dual;
Remember as well that strings in SQL and PL/SQL are delimited by single quotes not double quotes. 还要记住,SQL和PL / SQL中的字符串由单引号而不是双引号分隔。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.