簡體   English   中英

在Oracle數據庫中調用Java存儲過程時出錯

[英]Error while calling java stored procedure in oracle database

我創建了一個RunnableJar(一個包含其他第三方jar的jar,例如iText.jar,java類等),並使用loadjava在Oracle數據庫中上傳了該RunnableJar.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中的字符串由單引號而不是雙引號分隔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM