gpt4 book ai didi

java - 在oracle数据库中调用java存储过程时出错

转载 作者:行者123 更新时间:2023-12-01 14:27:15 25 4
gpt4 key购买 nike

我创建了一个 RunnableJar(一个包含 iText.jar、java 类等其他第三方 jar 的 jar),并使用 loadjava 将 RunnableJar.jar 上传到 Oracle 数据库中。在 jar 中,我有主类 GetOffer ,因为我有一个 public String getOffer(String param1) { } 方法,该方法的使用是根据以下内容创建多个 pdf用户选择并将它们连接起来。

现在我已经创建了存储过程:

create or replace function getOffer(param1 in varchar2) return varchar2
is language java name 'GetOffer.getOffer(java.lang.String) return java.lang.String';

我使用以下调用语句调用了这个存储过程:

SQL> VARIABLE  myString  VARCHAR2(20);
SQL> CALL getOffer("XYZ") INTO :myString

调用该过程时出现以下错误:

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

如何解决这个问题?

最佳答案

您发布的代码正在创建存储函数,而不是存储过程。如果你想调用一个函数

SELECT getOffer('xyz')
INTO :myString
FROM dual;

还请记住,SQL 和 PL/SQL 中的字符串是用单引号而不是双引号分隔的。

关于java - 在oracle数据库中调用java存储过程时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17112129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com