Oracle數據庫中使用java實現存儲過程

使用命令行實現java存儲過程

首先使用非DBA賬戶登陸sqlplus,然後

SQL> create or replace and compile java source named "javademo1"
  2  as
  3  import java.sql.*;
  4  public class JavaDemo1
  5  {
  6  public static void main(String[] argv)
  7  {
  8  System.out.println("hello, java demo1");
  9  }
 10  }
 11  /
Java 已創建。
SQL> show errors java source "javademo1"
沒有錯誤。
SQL> create or replace procedure javademo1
  2  as
  3  language java name 'JavaDemo1.main(java.lang.String[])';
  4  /
過程已創建。
SQL> set serveroutput on
SQL> call javademo1();
調用完成。
SQL> call dbms_java.set_output(5000);
調用完成。
SQL> call javademo1();
hello, java demo1
調用完成。
SQL> call javademo1();
hello, java demo1
調用完成。

使用Oracle Sql Devloper工具

權限問題解決

exec dbms_java.grant_permission(‘apps’,’java.util.propertypermission’,’‘,’‘);
exec dbms_java.grant_permission(‘apps’,’java.io.serializablepermission’,’‘,’‘);
exec dbms_java.grant_permission(‘apps’,’java.io.filepermission’,’‘,’‘);
exec dbms_java.grant_permission(‘apps’,’java.net.netpermission’,’‘,’‘);
exec dbms_java.grant_permission(‘apps’,’java.net.socketpermission’,’‘,’‘);
exec dbms_java.grant_permission(‘apps’,’java.lang.runtimepermission’,’‘,’‘);
exec dbms_java.grant_permission(‘apps’,’java.lang.reflect.reflectpermission’,’‘,’‘);
exec dbms_java.grant_permission(‘apps’,’java.security.securitypermission’,’‘,’‘);
exec dbms_java.grant_permission(‘apps’,’oracle.aurora.rdbms.security.policytablepermission’,’‘,’‘);
exec dbms_java.grant_permission(‘apps’,’oracle.aurora.security.jserverpermission’,’‘,’‘);

發佈了111 篇原創文章 · 獲贊 158 · 訪問量 37萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章