2017-05-23 5 views
1

Wenn ich eine Java-Klasse von PL/SQL aufrufen erhalte ich die folgenden FehlerFehler beim Java von PL/SQL-Aufruf

ORA-29532 Java call terminated by uncaught java exception 

ich bereits eine metalink Note -Doc genannt: 1420943,1

diese bittet, Überprüfen Sie den Wert (show parameters shared_servers) und setzen Sie ihn auf Null, wenn er nicht Null ist. aber der Wert ist bereits 0.

pls helfen mir zu identifizieren, was das Problem verursacht.

----------------------- Weitere Informationen --------------------- --------------

Wir verwenden loadjava -user apps/password - force -verbose -resolve java.class, um die Java-Klasse in die Oracle DB zu laden.

Datenbankversion 12c.

PL/SQL:

l_retCode := initialize(para_1 => l_para1, 
         Para_2 => l_para2, 
         para_3 => l_para3); 

Die Initialisierungsfunktion wie unten

function initialize(para_1 VARCHAR2, para_2 VARCHAR2, para_3 VARCHAR2) 
return NUMBER as LANGUAGE JAVA NAME 
'com.snlp.XXWClass.initialize(java.lang.string,java.lang.string,java.lang.string) return int' 

Java-Code definiert ist:

public static int initialize(s String, s1 String , s2 String){ 
    // logic goes here 
} 
+2

Bitte schreiben Sie [MCVE] mit dem Java und PL/SQL Code, den Sie verwenden; die Methode, die Sie verwenden, um das Java in die Datenbank zu laden; und ein Beispiel dafür, wie Sie die Prozedur/Funktion aufrufen, die den Fehler erzeugt. – MT0

+0

Wenn Sie die Java-Funktion (außerhalb von Oracle) mit denselben Eingabeparametern ausführen, wird eine Ausnahme ausgelöst? – MT0

+0

tatsächlich wird dieses Paket + Java-Code von verschiedenen Oracle Forms-Seite aufgerufen. Von einer anderen Seite, wenn wir anrufen, funktioniert es .. aber ich muss dies mit diesen besonderen Parametern aufrufen, die diesen Fehler wirft. Wird dies überprüfen und Sie wissen lassen, –

Antwort

0

Haben Sie das Update von

http://www.oracle.com/technetwork/database/enterprise-edition/calling-shell-commands-from-plsql-1-1-129519.pdf

Wir müssen wie nach der Anmeldung STIPENDIEN geben als APPS (Pls den Link für mehr klar Information- sehen kopieren konnte nicht diese Befehle einfügen so, ich getippt - es kann einige Fehler in den folgenden Befehle sein) die folgenden Befehle

dbms_java.grant_permission('<user_name>', 'SYS:java.util.PropertyPermission', '<property_name>', 'write'); 
 

 
dbms_java.grant_permission('<user_name>', 'SYS:java.util.RuntimePermission', 'writeFileDescriptor', ''); 
 

 
dbms_java.grant_permission('<user_name>', 'SYS:java.util.RuntimePermission', 'readFileDescriptor', ''); 
 

 
exec DBMS_JAVA.Grant_Permission('<user_name>', 'SYS:java.io.FilePermission','<<ALL FILES>>','read,write,execute,delete');

viele Fragen in unserem JAVA Aufruf von Oracle Fest
0

1) Im DB set serveroutput on und exec dbms_java.set_output(10000000); Es ermöglicht zu sehen Java-Stack-Ablaufverfolgung in db.

2) Java-Klasse falsch veröffentlichen. Die Zeichengröße ist signifikant. Ändern Sie java.lang.string. zu java.lang.String.

Verwandte Themen