日期:2014-05-17  浏览次数:20897 次

添加了java数据源EncryptBean 如何用存储过程调用?下面是我的代码,高手指教
java数据源中有
private   static   String   a;
.
.
.
public   static   String   sum(String   b)
{
    a   =   b   +   ": ";
    return   a;
}

怎样用存储过程调用该方法?然后得到返回值
create   or   replace   procedure   test11(abc   in   varchar2,   cba   varchar2)
is
begin
    EncryptBean.sum(abc);
    cba:=EncryptBean.a;
end   test11;

oracle报错.....

------解决方案--------------------
我来顶贴的。
------解决方案--------------------
可以用无满意答案结帖。
------解决方案--------------------
我会点Oracle,不知道你当时怎么解决的,可以一起学习一下。
------解决方案--------------------
随便给点分。
------解决方案--------------------
供参考:
实现方法: 
1、 创建一个文件为TEST.java
public class TEST
{
public static void main (String args[]) 
{
System.out.println("HELLO THIS iS A JAVA PROCEDURE");
}
}
2、 javac TEST.java
3、 java TEST
4、 SQL> conn system/manager
SQL> grant create any directory to scott;
SQL> conn scott/tiger
SQL> create or replace directory test_dir as 'd:\';
目录已创建。
SQL> create or replace java class using bfile(test_dir,'TEST.CLASS')
2 /

Java 已创建。

SQL> select object_name,object_type,STATUS from user_objects;

SQL> create or replace procedure test_java 
as language java 
name 'TEST.main(java.lang.String[])';
/

过程已创建。

SQL> set serveroutput on size 5000
SQL> call dbms_java.set_output(5000);

调用完成。

SQL> execute test_java;
HELLO THIS iS A JAVA PROCEDURE

PL/SQL 过程已成功完成。

SQL> call test_java();
HELLO THIS iS A JAVA PROCEDURE