私の顧客は、Oracle PL/SQL から jar ファイルを呼び出せるようにしたいと考えています。
Java 1.6、オラクル 11g R2
どうすればいいですか?
loadjava(クラスをOracleにロードするプログラム)について少し調べました。お尻の痛みのように聞こえた。
そのため、Oracleの外部でjarを実行することを選択しましたが、PL/SQLによってOracleDBMS_SCHEDULERから呼び出されました。
方法は次のとおりです。
BEGIN
DBMS_SCHEDULER.CREATE_PROGRAM (
program_name => 'testjar',
program_type => 'EXECUTABLE',
program_action => 'C:\MYSTUFF\testjar.bat',
enabled => TRUE,
comments => 'test testjar'
);
END;
/
begin
dbms_scheduler.create_job
(job_name => 'testjar_job',
program_name=> 'testjar',
enabled=>true,
auto_drop=>false,
comments=>'Only run immediately by dbms_scheduler.run_job');
end;
/
begin
dbms_scheduler.run_job('testjar_job',TRUE);
end;
/
遊んだ後、スキーマ JAR_NAME.jar///ClassName.methodName(.... が機能することがわかりました。
たとえば、次のようになります。
Function do()
return String
AS
LANGUAGE java
NAME 'my_jar.jar///MyClass.myMethod() return oracle.sql.String';
一部の jar 名ファイルが機能しないように見えることに注意してください。たとえば、jar の「-」に問題がありました。