sql >> Base de Datos >  >> RDS >> Oracle

Oracle cómo importar clases de Java que faltan al llamar a Java desde plsql

Puede probar 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' )
/

Sin embargo, aunque esto podría cargar la clase, es casi seguro que tendrá otras dependencias y fallará cuando intente usar esa clase y luego deberá cargar esas dependencias y luego las dependencias y así sucesivamente...

Sería mejor encontrar un JAR que contiene el paquete completo (o cree el paquete usted mismo a partir de su estructura de directorios existente) y use loadjava :

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

(Si necesita sobrescribir las clases existentes que no se cargaron, es posible que necesite -force opción también.)

Luego puede probar para ver si algo no se ha podido cargar usando:

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

También tenga en cuenta que el hecho de que la clase se haya cargado correctamente no significa que no generará excepciones de tiempo de ejecución cuando invoque la clase.