Appel d'un programme JAVA depuis une procedure PL/SQL
Bonjour,
j'ai un programme écrit en JAVA que j'appel depuis Sql Plus de la manière suivante:
Code:
1 2
|
host java -mx512m com.socgen.prism.constructProfilPoolPME.ConstructPoolPME 192.16.238.149 1521 $AliasSid $UsrOra |
je souhaiterais appeler ce programme directement depuis une procédure stockée PL/SQL définie dans un package. Cela est-il possible? si oui comment?
Appel Java stocké depuis Plsql
Bonjour,
Placer un ordre host dans du PlSql me paraît impossible.
Une possibilité si le traitement peut être interne à la base est de déclarer le code java en tant que procédure stockée.
Code:
1 2 3 4 5 6
|
create or replace and compile java source named MonJavaSource as
package MonJava;
...
public static int MaFonction(float MonParam) {
... |
Puis de l'invoquer au travers d'un package faisant référence à ses routines :
Code:
1 2 3 4 5 6 7 8
|
CREATE OR REPLACE Package Body pl_java Is
--- Permet d'attaquer les procédures JAVA de la base.
Function java_fonction (p_xmf_id Float) Return Number As
Language Java Name 'MonJava.MonJavaSource .MaFonction(float) return int';
... |
Ensuite on fait appel en PlSql au package pl_java.
Sinon en effet les procédures externes.
Pozzo