Wywoływanie Java z PL / SQL
Czy ktoś może mi w tym pomóc: Chcę wywołać jeden program Java z Pl / SQL, Oracle RDBMS, poniżej znajdują się ustawienia
Komputer z systemem Windows 7, Java jest zainstalowana na C: Program Files Java jdk1.7.0_02
Stworzyłem jeden katalog do przechowywania plików java. D: Java ma jeden plik hello.java.
public class Hello
{
public static String world()
{
return "Hello world";
}
}
został skompilowany w porządku, a plik .class został wygenerowany w tym samym katalogu.
Ponieważ muszę wywołać tę funkcję za pomocą PL / SQL, oto funkcja PL / SQL, którą napisałem:
create or replace
FUNCTION helloworld RETURN VARCHAR2 AS
LANGUAGE JAVA NAME 'Hello.world () return java.lang.String';
i to jest procedura PL / SQL:
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;
zarówno funkcja, jak i procedura zostały skompilowane przy użyciu SQL / developer.
Kiedy próbowałem uruchomić tę procedurę:
set serveroutput on;
execute hellow;
nadchodzi następujący błąd:
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.
Umieściłem również plik .class w folderze bin, ale wciąż pojawia się ten sam błąd. Czy ktoś może na to spojrzeć.