Шаги по добавлению кодека Apache Commons в базу данных Oracle

У меня есть общая библиотека кодеков Apache, и мне нужно вызвать ее в базе данных Oracle 11, чтобы я мог создать источник Java, который использует классы внутри него, как показано ниже.

Что нужно сделать, чтобы включить эту библиотеку в базу данных?

Файл Java должен быть включен в базу данных Oracle

** Код должен быть достигнут, но дающий символ не может быть найден

CREATE OR REPLACE JAVA SOURCE NAMED "org_apache_Base64" AS
import java.lang.*;
import java.sql.*;
import oracle.sql.*;
import java.io.*;
import javax.xml.bind.DatatypeConverter;
import org.apache.commons.codec.binary.Base64; 

public class org_apache_Base64
{
  public static void ExportBlob(String CONTFILE, BLOB CONTBLOB) throws Exception
  {
  try
  {
    File file = new File("/u01/oracle/jam_export/contract1");
    FileOutputStream fos = new FileOutputStream(file);  
    byte[] encodedBytes = Base64.getEncoder().encode("Test".getBytes());
    System.out.println("encodedBytes " + new String(encodedBytes));
    byte[] decodedBytes = Base64.getDecoder().decode(encodedBytes);
    System.out.println("decodedBytes " + new String(decodedBytes)); 
    System.out.println("PDF File Saved");
    fos.write(decoded); 
    fos.flush();
    fos.close(); 
    }
    catch  (Exception e) 
    {
     System.out.println(e); 
    }
  } };

person Miro hussein    schedule 05.02.2020    source источник


Ответы (1)


Найдите jar файлы, содержащие эти зависимости (которые, вероятно, можно загрузить с Apache Commons Codec), а затем используйте _ 2_ утилита для хранения их в базе данных, чтобы Oracle мог найти их в своем пути к классам.

loadjava -user USERNAME/PASSWORD@SID name_of_jar_file.jar

Если вы хотите включить исходные файлы, вы также можете сделать это с помощью loadjava, но я бы не рекомендовал его для внешней библиотеки, так как вам нужно будет загрузить ВСЕ зависимости для файла Base64.java, и это может быть сотни (или тысячи) других исходных файлов; проще просто найти JAR, в который они упакованы, и загрузить этот ресурс (или скомпилировать исходный код и упаковать его JAR).

person MT0    schedule 05.02.2020