java调用ORACLE 存储过程返回值22

本文介绍了一个使用Java Web调用Oracle存储过程的例子,并展示了完整的存储过程及Java代码。作者遇到了一些问题并寻求帮助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

存储过程代码如下:
create or replace package mysp is
type refcursor is ref cursor return MEIGARA_INFO2%ROWTYPE;
procedure mytest(mycur in OUT refcursor);
end mysp;

create or replace package body mysp is
procedure mytest(mycur in OUT refcursor)IS
begin
open mycur for
SELECT * FROM MYTABLE;
end mytest;
end mysp;

/
jsp如下:
<%@ page contentType="text/html; charset="SHIFT_JIS""%>
<%@ page language="java" import="java.sql.*,java.io.*,javax.naming.*,javax.sql.*,java.lang.*,java.util.*,java.text.*" %>
<html>
<body>
<%
String sta;
String sql = "{call mysp.mytest(?)}";
try
{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@202.118.44.105:1521:SVER";
String user="MY";
String password="MY";
Connection conn = DriverManager.getConnection(url,user,password);
CallableStatement mycs = conn.prepareCall(sql);
mycs.registerOutParameter(1,Types.OTHER);
mycs.execute();

ResultSet rs = (ResultSet)mycs.getObject(1);
while(rs.next()){
sta = rs.getString(1);
out.println(" status is :" +sta);
}
mycs.close();
rs.close();
conn.close();
}
catch (Exception e)
{
out.print(e);
}
%>
这段代码有问题麽,怎么老是不对呢?请大家帮忙看看。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值