create or replace function fun_test(input_str in varchar2) return varchar2 is
  Result varchar2(50);
begin
  
  Result := input_str;
  
  return(Result);
end fun_test;////////////////////
<%
   javax.naming.InitialContext ctx = new javax.naming.InitialContext();
   javax.sql.DataSource  ds = (javax.sql.DataSource)ctx.lookup("CM_DS");
   java.sql.Connection conn = ds.getConnection();  //调用oracle的存储过程  String str_rtn = "";
  String str_param = "aaa";  java.sql.CallableStatement   cstmt;  cstmt =  conn.prepareCall("{call ? = fun_test(?)}");  cstmt.registerOutParameter(1,java.sql.Types.CHAR);
  cstmt.setString(2,str_param);
  cstmt.execute();
  str_rtn = cstmt.getString(1);  cstmt.close();
  conn.close();  %>在 cstmt.execute()执行时出错,请问如何解决?? 如何编写oracle的procedure、 function并在java中调用??