appeler fonction java stockée
Salut a tous,
suite a un probleme d'optimisation pour importer de l'xml, je suis passé par java pour l'import (lecture du fichier et insertion dans la bdd)
ces fichiers java sont compilés et chargés dans la bdd grace a la fonction "loadjava" et ils apparaissent bien dans la bdd quand je regarde dans console management
je créé une fonction sql pour appeler la fonction principale java en faisant:
Code:
1 2 3 4
| create or replace function doparse(path in VARCHAR2, logPath in VARCHAR2) return VARCHAR2
as language java name
'xml.parser.sax.CadisSaxParser.doParse(java.lang.String, java.lang.String) return java.lang.String';
/ |
je vois aussi cette fonction dans le console management.
sous sqlplus, j'arrive a l'appeler grace a la commande:
Code:
1 2
| variable retour varchar2(500);
call doparse(:path, :logPath) into :retour; |
:path et :logpath etant des variables initialisées avant, contenant le chemin du fichier xml a lire, et le chemin du fichier de log
Le probleme:
mon application qui doit lire le fichier xml, doit donc appeler cette fonction doparse, mais je ne sais pas comment faire
j'ai essayé tout simplement pareil avec
Code:
1 2 3 4 5
| call doparse(path, logPath);
doparse(path, logPath);
execute 'call doparse(path, logPath)';
host ('call doparse(path, logPath)');
etc... |
tout ca avec, sans les quotes, doubles quotes etc..
mais ca ne compile quasiment jamais, et quand ca compile, ca plante
comment faut il faire pour appeler une fonction java stockée en memoire sous forms ?
j'ai recherché pas mal, mais j'ai rien trouvé :(
merci
mike