Charger des .jar dans la base
Bonjour,
J'ai besoin d'exécuter un programme Java depuis PL/SQL (loadjava / CREATE JAVA.).
Mon programme Java fonctionne parfaitement en local.
Avec CREATE JAVA, le simple programme de test suivant fonctionne pafaitement :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| create or replace and compile java source named Hello as
public class Hello
{
public Hello() {
}
public static String world()
{
return "Hello world";
}
}
CREATE OR REPLACE FUNCTION helloworld RETURN VARCHAR2 AS
LANGUAGE JAVA NAME 'Hello.world () return java.lang.String';
/
select helloworld() from dual |
Néanmoins mon programme utilise des librairies externes (.jar). Et je ne sais pas comment les "lier" à mon programme une fois dans la base.
Evidement si j'ajoute un import dans ce petit programme, ça ne passe plus. Comment puis-je charger ces .jar ?
J'ai essayer des les charger via loadjava :
Code:
1 2 3 4 5 6 7
| loadjava -user user/pass@dbhost -jarasresource -resolve C:\jdevstudio1013\jdev\lib\commons-httpclient-3.1.jar
loadjava -user user/pass@dbhost -jarasresource -resolve C:\jdevstudio1013\jdev\lib\commons-logging-1.1.1.jar
loadjava -user user/pass@dbhost -jarasresource -resolve C:\jdevstudio1013\jdev\lib\slf4j-nop-1.6.1.jar
loadjava -user user/pass@dbhost -jarasresource -resolve C:\jdevstudio1013\jdev\lib\slf4j-api-1.6.1.jar
loadjava -user user/pass@dbhost -jarasresource -resolve C:\jdevstudio1013\jdev\lib\jackrabbit-webdav-2.1.0.jar
loadjava -user user/pass@dbhost -jarasresource -resolve C:\jdevstudio1013\jdev\lib\jackrabbit-jcr-commons-2.1.0.jar
loadjava -user user/pass@dbhost -jarasresource -resolve C:\jdevstudio1013\jdev\lib\commons-codec-1.4.jar |
Aucune erreur, mais lorsque je tente de charger ma classe, il semble qu'il ne trouve toujours pas les .jar :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| C:\DevSuiteHome_1\BIN>loadjava -user user/pass@dbhost -resolve C:\jdevstudio1013\jdev\mywork\webdav\Project1\classes\project1\Acc
esDFS.class
errors : class project1/AccesDFS
ORA-29521: referenced name org/apache/jackrabbit/webdav/client/methods/PropF
indMethod could not be found
ORA-29521: referenced name org/apache/commons/httpclient/HttpClient could no
t be found
ORA-29521: referenced name org/apache/jackrabbit/webdav/client/methods/DavMe
thod could not be found
ORA-29521: referenced name org/apache/jackrabbit/webdav/MultiStatus could no
t be found
ORA-29521: referenced name org/apache/jackrabbit/webdav/MultiStatusResponse
could not be found
ORA-29521: referenced name org/apache/jackrabbit/webdav/DavException could n
ot be found
ORA-29521: referenced name java/lang/StringBuilder could not be found
ORA-29521: referenced name org/apache/jackrabbit/webdav/client/methods/PutMe
thod could not be found
ORA-29521: referenced name org/apache/commons/httpclient/methods/InputStream
RequestEntity could not be found
ORA-29521: referenced name project1/AccesDFS$1 could not be found
ORA-29521: referenced name org/apache/commons/httpclient/methods/EntityEnclo
singMethod could not be found
ORA-29521: referenced name org/apache/commons/httpclient/HostConfiguration c
ould not be found
ORA-29521: referenced name org/apache/commons/httpclient/MultiThreadedHttpCo
nnectionManager could not be found
ORA-29521: referenced name org/apache/commons/httpclient/params/HttpConnecti
onManagerParams could not be found
ORA-29521: referenced name org/apache/commons/httpclient/HttpConnectionManag
er could not be found
ORA-29521: referenced name org/apache/commons/httpclient/UsernamePasswordCre
dentials could not be found
ORA-29521: referenced name org/apache/commons/httpclient/HttpState could not
be found
ORA-29521: referenced name org/apache/commons/httpclient/HttpMethod could no
t be found
ORA-29521: referenced name org/apache/commons/httpclient/methods/RequestEnti
ty could not be found
ORA-29521: referenced name org/apache/commons/httpclient/Credentials could n
ot be found
The following operations failed
class project1/AccesDFS: resolution
exiting : Failures occurred during processing
C:\DevSuiteHome_1\BIN> |
Je galère là dessus depuis un petit moment, si quelqu'un à une idée ça serait super.
Merci de m'avoir lu. :ccool: