oracle⾥编写java类
1、登陆某⼀⽤户登录,并创建java程序资源,在pl/sql中java source中显⽰你所编写的java代码;
create or replace and compile java source named bb_wx_replosssbk as
import java.sql.*;
import oracle.jdbc.driver.*;
public class bb_wx_replosssbk
{
/**
* 社保卡挂失
*/
public static String callProc(String sSfzh,String sPwd,String sType)
{
OracleDriver driver = new OracleDriver();
Connection connection=null;
CallableStatement cstmt=null;
String sRtn = "beg";
try
{
sRtn = " try beg";
connection = Connection("jdbc:oracle:thin:user/pwd@127.0.0.1:1521:orcl"); sRtn = "con";
cstmt = connection.prepareCall("{call run_replosssbk(?,?,?,?)}");
sRtn = "invoke";
cstmt.setString(1, sSfzh);
cstmt.setString(2, sPwd);
cstmt.setString(3, sType);
sRtn = "set value";
sRtn = "execute";
sRtn = String(4);
}catch (Exception e) {
sRtn = e.toString();
e.printStackTrace();
}finally {
try {
if (cstmt != null) {
cstmt.close();
}
if (connection != null) {
connection.close();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
return sRtn;
}
}
2、创建调⽤Java资源的函数
create or replace function run_bb_wx_replosssbk(
sSfz in varchar2,
sPwd in varchar2,
sType in varchar2
)
return varchar2
as
language java name 'bb_wx_replosssbk.callProc(java.lang.String,java.lang.String,java.lang.String) return java.lang.String';
3、建⽴⼀过程调⽤存储过程
create or replace procedure RUN(
sSfz in varchar2,
sPwd in varchar2,
sType in varchar2
sRtn out varchar2
)
java replace方法as
begin
--sRtn := run_bb_wx_replosssbk(sSfz in varchar2,sPwd in varchar2,sType in varchar2);
Select run_bb_wx_replosssbk(sSfz in varchar2,sPwd in varchar2,sType in varchar2)
Into sRtn from dual;
end;
/
呵呵,到此为⽌,基本步骤已经完成,如果你觉得现在可以顺利调⽤,孩⼦,醒醒吧,还有权限问题!!
⽹上抄了下⾯⼀段
begin
Dbms_Java.Grant_Permission('new','java.io.FilePermission', '<<ALL FILE>>','read ,write, execute, delete');
ant_permission('new', 'SYS:java.io.FilePermission', '<<ALL FILES>>','read ,write, execute, delete');
Dbms_Java.Grant_Permission('new', 'java.io.FilePermission', 'd:a.bat','read ,write, execute, delete');
ant_permission('new', 'java.lang.RuntimePermission','*','writeFileDescriptor' );
end;
很神奇,上⾯⼀段不⾏!!不知道为啥……
还是⽤最简单的⽅法,⽤有管理员权限的⽤户登录pl/sql ,选择users,到new⽤户,edit⼀下,选择Role privileges,加上javasyspriv权限和javauserpriv权限。
OK,到此为⽌,所有步骤已经完成,可以正常使⽤了.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论