使用命令行实现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’,’java.io.filepermission’,’java.net.netpermission’,’java.net.socketpermission’,’java.lang.runtimepermission’,’java.lang.reflect.reflectpermission’,’java.security.securitypermission’,’oracle.aurora.rdbms.security.policytablepermission’,’oracle.aurora.security.jserverpermission’,’‘);