sql >> Database teknologi >  >> RDS >> Oracle

Oracle hvordan man importerer manglende java-klasser, når man kalder java fra plsql

Du kan prøve 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' )
/

Men selvom dette kan indlæse klassen, vil det næsten helt sikkert have andre afhængigheder og vil mislykkes, når du prøver at bruge den klasse, og du bliver derefter nødt til at indlæse disse afhængigheder og derefter afhængighederne og så videre...

Du ville være bedre at finde en JAR indeholdende hele pakken (eller opret pakken selv fra din eksisterende mappestruktur) og brug loadjava :

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

(Hvis du har brug for at overskrive eksisterende klasser, der ikke kunne indlæses, skal du muligvis bruge -force mulighed også.)

Du kan derefter teste for at se, om noget ikke kunne indlæses ved hjælp af:

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

Bemærk også, bare fordi klassen blev indlæst, betyder det ikke, at den ikke vil generere runtime-undtagelser, når du kalder klassen.




  1. Hvordan kan jeg rydde en transaktions-deadlock?

  2. Hvordan tæller man relaterede rækker inklusive underkategorier?

  3. Sådan initialiseres en matrix i plsql

  4. Udtræk den første talværdi fra string sql