Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle comment importer les classes Java manquantes lors de l'appel de Java à partir de plsql

Vous pouvez essayer CREATE JAVA CLASS :

CREATE OR REPLACE DIRECTORY xml_template_dir
  AS '/path/to/oracle/apps/xdo/oa/schema/server/';
/

CREATE JAVA CLASS USING BFILE (xml_template_dir, 'TemplateHelper.class' )
/

Cependant, bien que cela puisse charger la classe, il aura presque certainement d'autres dépendances et échouera lorsque vous essayez d'utiliser cette classe et vous devrez alors charger ces dépendances, puis les dépendances et ainsi de suite...

Vous feriez mieux de trouver un JAR contenant l'ensemble du package (ou créez le package vous-même à partir de votre structure de répertoires existante) et utilisez loadjava :

loadjava -user APPS/[email protected] -resolve XML_Publisher.jar

(Si vous avez besoin d'écraser les classes existantes qui n'ont pas pu être chargées, vous aurez peut-être besoin du -force option également.)

Vous pouvez ensuite tester pour voir si quelque chose n'a pas réussi à se charger en utilisant :

SELECT object_name
FROM   user_objects
WHERE  object_type = 'JAVA CLASS'
AND    status != 'VALID';

Notez également que ce n'est pas parce que la classe a été chargée avec succès qu'elle ne générera pas d'exceptions d'exécution lorsque vous invoquerez la classe.