Aufruf von Java aus PL / SQL
Kann mir bitte jemand dabei helfen: Ich möchte ein Java-Programm aus dem Pl / SQL, Oracle RDBMS aufrufen, die folgenden Einstellungen sind
Windows 7-Computer, Java ist unter C: \ Programme \ Java \ jdk1.7.0_02 installiert
Ich habe ein Verzeichnis erstellt, um die Java-Dateien zu speichern. D: \ Java, enthält eine hello.java-Datei.
public class Hello
{
public static String world()
{
return "Hello world";
}
}
Dies wurde gut kompiliert und die .class-Datei wurde in demselben Verzeichnis generiert.
Da ich diese Funktion mit PL / SQL aufrufen muss, habe ich folgende PL / SQL-Funktion geschrieben:
create or replace
FUNCTION helloworld RETURN VARCHAR2 AS
LANGUAGE JAVA NAME 'Hello.world () return java.lang.String';
und dies ist die PL / SQL-Prozedur:
create or replace
PROCEDURE hellow
AS
my_string varchar2(400 char);
begin
my_string:=helloworld();
dbms_output.put_line('The value of the string is ' || my_string);
end;
Sowohl die Funktion als auch die Prozedur wurden mit SQL / developer einwandfrei kompiliert.
Als ich versuchte, diese Prozedur auszuführen:
set serveroutput on;
execute hellow;
Der folgende Fehler kommt:
Error starting at line 2 in command: execute hellow Error report: ORA-29540: class Hello does not exist ORA-06512: at "ORACLE_SOURCE.HELLOWORLD", line 1 ORA-06512: at "ORACLE_SOURCE.HELLOW", line 5 ORA-06512: at line 1
29540. 00000 - "class %s does not exist"
*Cause: Java method execution failed to find a class with the indicated name.
*Action: Correct the name or add the missing Java class.
Ich habe die .class-Datei auch im bin-Ordner abgelegt, aber es kommt immer noch derselbe Fehler. Kann jemand bitte einen Blick darauf werfen.