0

我有 Apache 通用编解码器库,我需要在 Oracle 11 数据库中调用它,这样我就可以创建一个使用其中的类的 java 源,如下所示。

使这个库包含在数据库中的步骤是什么?

Java 文件需要包含在 Oracle DB 中

**代码需要实现但找不到符号

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); 
    }
  } };
4

1 回答 1

0

找到包含这些依赖项的jar文件(可能可以从Apache Commons Codec下载),然后使用该loadjava实用程序将它们存储在数据库中,以便 Oracle 可以在其类路径中找到它们。

loadjava -user USERNAME/PASSWORD@SID name_of_jar_file.jar

如果您想包含源文件,那么您也可以使用它来执行此操作,loadjava但我不建议将它用于外部库,因为您需要加载文件的所有依赖项Base64.java,这可能是数百(或数千)个其他源文件; 只需找到打包这些资源的 JAR 并加载该资源(或编译源代码并自己打包它的 JAR)就更容易了。

于 2020-02-05T11:04:41.053 回答