Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Cannot get Oracle CURSOR from Oracle procedure in Websphere

 
chandubcs
Ranch Hand
Posts: 47
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
I need to retrive a OracleTypes.CURSOR in the form of java ResulstSet into my JSP page from Oracle database.
The JSP looks like:
<%@ page import = "java.sql.*" %>
<%@ page import = "oracle.jdbc.driver.*" %>
......
......
conn = DriverManager.getConnection(databaseURL, databaseUsername, databasePassword);
cs = conn.prepareCall("{call FIRST(?)}");
cs.registerOutParameter(1, OracleTypes.CURSOR);
cs.execute();
rs = (ResultSet) cs.getObject(1);
...........
Oracle procedure is:
.............
TYPE ref_cursor IS REF CURSOR;
CREATE OR REPLACE PROCEDURE FIRST (
r_cursor OUT ref_cursor
) IS
BEGIN
open r_cursor for
select a, b, c from table;
END;
This code is giving me an error as "java.sql.SQLException: ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'FIRST' ORA-06550: line 1, column 7: PL/SQL: Statement ignored ", but the same works perfect in weblogic 5. Now, I am using WSAD 5, Oracle 8.1.7.
One more thing here is... when I change OUT parameter in Oracle to VARCHAR2 and assign some value to it and in JSP if I use cs.registerOutParameter(1, OracleTypes.VARCHAR), it is working fine and giving me the proper result. I guess the problem is with oracle.jdbc.driver.OracleTypes.CURSOR???
Could anyone please advice me.
Thanks,
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic