浏览 6669 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-10-11
最后修改:2009-08-12
CREATE OR REPLACE PACKAGE SmsService IS TYPE ret_record is RECORD( P1 VARCHAR2(20), P2 VARCHAR2(10)); TYPE msg_array IS TABLE OF ret_record INDEX BY BINARY_INTEGER; END; CREATE OR REPLACE PACKAGE gqf IS PROCEDURE proc1(para1 in varchar2,para2 out SmsService.msg_array); END; ================================================================================================= java代码如下: OracleCallableStatement proc = null; try { proc =(OracleCallableStatement)con.prepareCall("{ CALL gqf.proc1 (?,?) }"); proc.setString(1, req.getPhoneNumber()); proc.registerOutParameter(2, OracleTypes.ARRAY,"SmsService.msg_array"); //proc.registerOutParameter(2, OracleTypes.ARRAY,"MSG_ARRAY"); //proc.registerOutParameter(2, OracleTypes.CURSOR); //proc.registerOutParameter(2, OracleTypes.PLSQL_INDEX_TABLE); //proc.registerIndexTableOutParameter(2,100, OracleTypes.OTHER, 100); proc.execute(); //proc.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { if (proc != null) { try { proc.close(); } catch (SQLException e1) { } } if (con != null) { try { con.close(); } catch (SQLException e) { } } } 我试了所有ORACLE的数据类型,要么是在registerOutParameter报错,要么是在execute时报错,错误类型大概就是数据类型错误,要么就是无效的参数名称,网上搜索了很多资料没有找到解决办法,所以来这里问问是否有大侠有类似的开发经验,给小弟我指点一二,不胜感激! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-10-11
希望知道的人能看到
|
|
返回顶楼 | |
发表时间:2007-10-11
咦?到这里来了?看来综合技术区强人们都不削一顾......
|
|
返回顶楼 | |
发表时间:2007-10-12
强人们过来看看
|
|
返回顶楼 | |
发表时间:2007-10-12
真的没人知道?
|
|
返回顶楼 | |
发表时间:2007-10-13
proc.registerOutParameter(2, oracle.jdbc.OracleTypes.CURSOR);
|
|
返回顶楼 | |
发表时间:2007-10-14
程序中注释的都已经试过了,数据类型不对
|
|
返回顶楼 | |
发表时间:2007-10-15
挂了这么长时间就没有一个知道的人?
|
|
返回顶楼 | |
发表时间:2007-10-16
看的多回的少。。。。
|
|
返回顶楼 | |
发表时间:2007-10-16
======结贴======
|
|
返回顶楼 | |