sql >> Database >  >> RDS >> Oracle

Oracle hoe ontbrekende java-klassen te importeren bij het aanroepen van java vanuit plsql

Je kunt CREATE JAVA CLASS proberen :

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

Hoewel dit de klasse kan laden, zal het vrijwel zeker andere afhankelijkheden hebben en zal het mislukken wanneer je die klasse probeert te gebruiken en je zult dan die afhankelijkheden moeten laden en vervolgens de afhankelijkheden, enzovoort...

Je zou beter een JAR . kunnen vinden met het volledige pakket (of maak het pakket zelf aan vanuit uw bestaande directorystructuur) en gebruik loadjava :

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

(Als u bestaande klassen moet overschrijven die niet konden worden geladen, heeft u mogelijk de -force nodig optie ook.)

U kunt dan testen of iets niet kan worden geladen met:

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

Houd er ook rekening mee dat het feit dat de klasse met succes is geladen, niet betekent dat deze geen runtime-uitzonderingen genereert wanneer u de klasse aanroept.




  1. MySQL:BEPERKEN met een percentage van het aantal records?

  2. SQL Server 2008, verschillende WHERE-clausules met één query

  3. Is T-SQL Stored Procedure Execution 'atomair'?

  4. PostgreSQL - ID van tabelrij correct wijzigen