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中调用??
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中调用??
解决方案 »
- 哪里可以下载‘Oracle Database 9i/10g/11g编程艺术深入数据库体系结构中文版2’
- 标识符无效
- 为什么我用两个用户同时操作一个表,表没有被锁呢??
- 帮忙看看这个sql语句
- 掌握Oracle数据库系统使用经验六则
- 修改了SYS和SYSTEM的密码,但是现在忘记了密码,有什么方法可以找回?
- 难题:关于更新表内记录的clob字段,分不够再加,帮顶也给分
- 如何让表的某个字段自动填写
- 求一SQL语句,急ing~~~~~~~
- 求教
- 这个procedure编译时没错,但执行时出错,这是为什么?请高手们HELP
- 用Ado编的VB程序,能不能在不安装Oracle客户端的情况下连接到Oracle数据库????
看看文档就可以了.
试试这样:
pstmt = conn.prepareSatement("begin ? = fun_test(?); end;");
cstmt = conn.prepareCall("{call proc_get_info(?,?,?)}");
调用procedure过程是正常的,调用函数的具体用法是怎样的?