java给存储过程传数组问题

jixiang8 2005-06-30 10:08:57
各位大侠,你们好。本人想在java里面把一个数组(字符串)传到oracle的存储过程,但在传的过程序出错了。请各位赐教,不胜感激!
我先在oracle中创建类型:
create or replace type strvarry is table of varchar2(100);

oracle存储过程头为:
Procedure GroupSend(
mobiles strvarry, --手机群号
counts int, --群发个数
childen_num varchar2, --子号
mt_msg varchar2, --下发信息
ret out Integer
);
java
代码如下:
public static final int groupSendMsg(String mobiles[],String childennum,String msg)
{
Connection dbConn = null;
CallableStatement cstmt = null;
int result = 1;

try{
dbConn = DBOPTION.getConection();
System.out.println("=====1");
cstmt = dbConn.prepareCall("{call PK_CHAT_DOWNMESSAGE.GroupSend(?,?,?,?,?)}");
System.out.println("=====2");
oracle.sql.ArrayDescriptor destarray = oracle.sql.ArrayDescriptor.createDescriptor("strvarry",dbConn);
System.out.println("=====3");
oracle.sql.ARRAY array = new oracle.sql.ARRAY(destarray,dbConn,mobiles);
System.out.println("=====4");
cstmt.setArray(1,array);
System.out.println("=====5");
cstmt.setInt(2,mobiles.length);
cstmt.setString(3,childennum);
cstmt.setString(4,msg);
cstmt.setInt(5,0);
cstmt.registerOutParameter(5,Types.INTEGER);
cstmt.executeQuery();
result = cstmt.getInt(4);
System.out.println("====="+result);
return result;
}
catch (SQLException sqle) {
System.out.println("error sqle "+ sqle.toString());
return result;
}
catch(Exception e)
{

System.out.println("error e ="+e.toString());
return result;
}
finally {
DBOPTION.closeStatement(cstmt);
DBOPTION.closeConnection(dbConn);
}
}

运行到oracle.sql.ArrayDescriptor destarray = oracle.sql.ArrayDescriptor.createDescriptor("strvarry",dbConn);的时候出错了。请各位指教。谢谢!
...全文
240 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangbc 2005-07-02
  • 打赏
  • 举报
回复
CREATE TYPE members_type AS VARRAY(100) OF CHAR(5);

Procedure Get_www(YWLSH In Varchar2,YWDH In VarChar2,
YJStatSubject Out members_type,SYStatSubject Out Varchar2);


结贴吧
hcom 2005-07-02
  • 打赏
  • 举报
回复
up
hxshandle 2005-07-02
  • 打赏
  • 举报
回复
关注一下,最近我也在看oracle的java开发
jixiang8 2005-07-02
  • 打赏
  • 举报
回复
已通过其它的方法解决了。
但我想,数组一定能传进去的,只是我不会而已。各位大侠,会的话,请指教一下,好吗?谢谢
jixiang8 2005-06-30
  • 打赏
  • 举报
回复
UP

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧