12c中匯入java的jar檔案

xfhuangfu發表於2017-12-21
1、建立表空間
[oracle@host01 /]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Thu Dec 21 15:29:33 2017
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> alter session set container=xfpdb;
SQL> create tablespace xftbs datafile '/u01/app/oracle/oradata/PRODCDB/xfpdb/xftbs01.dbf' size 10m;
Tablespace created.
2、建立使用者並授權
SQL> create user xf identified by xf default tablespace xftbs quota unlimited on xftbs;
User created.

SQL> grant connect ,resource to xf;
Grant succeeded.

3、使用xf使用者連線資料庫執行jar包匯入
需要將commons-math3-3.0.jar檔案上傳至/home/oracle/files/下
使用dbms_java.loadjava匯入jar包
[oracle@host01 admin]$ sqlplus xf/xf@192.168.56.101:1521/xfpdb.example.com

SQL*Plus: Release 12.1.0.2.0 Production on Tue Dec 19 13:58:13 2017

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> call dbms_java.loadjava('-v -r PUBLIC -sysnonym /home/oracle/files/commons-math3-3.0.jar');

Call completed.

SQL> begin
      dbms_java.loadjava('-v -r PUBLIC -sysnonym /home/oracle/files/commons-math3-3.0.jar');
     end;
    /

PL/SQL procedure successfully completed.

SQL> exec dbms_java.loadjava('-v -r PUBLIC -sysnonym /home/oracle/files/commons-math3-3.0.jar');

PL/SQL procedure successfully completed.

或者使用loadjava命令
[oracle@host01 admin]$ loadjava -force -thin -user xf/xf@192.168.56.101:1521/xfpdb.example.com -resolve /home/oracle/files/commons-math3-3.0.jar

4在Oracle資料庫建立java程式碼

SQL> create or replace and compile java source named jar_norm as
  2  import org.apache.commons.math3.distribution.NormalDistribution;
  3  public class jar_norm {
  4     public static double s_inv(double s){
  5     NormalDistribution normalDistribution =new NormalDistribution(0,1);
  6     double S1=normalDistribution.inverseCumulativeProbability(s);
  7     return S1;
  8     }
  9     public static double s_dist_c(double s){
 10     NormalDistribution normalDistribution =new NormalDistribution(0,1);
 11     double S1=normalDistribution.cumulativeProbability(s);
 12     return S1;
 13     }
 14  }
 15  /

Java created.

-end-

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28373936/viewspace-2149028/,如需轉載,請註明出處,否則將追究法律責任。

相關文章