Solved

Error in getting Oracle CURSOR from Oracle procedure using REF CURSOR in Websphere WSAD 5

Posted on 2003-11-24
4
649 Views
Last Modified: 2013-12-10
Hi,

I need to retrieve 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 code used to work perfectly in weblogic 5. Now, I am using Websphere Studio WSAD 5, Oracle 8.1.7, Oracle thin driver.

One more thing here is... when I change the 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 result with no errors. What could be the problem? Is that the oracle.jdbc.driver.OracleTypes.CURSOR ???

Could anyone please advice me.

Thanks,
0
Comment
Question by:chandubcs
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
4 Comments
 

Expert Comment

by:justAGrl
ID: 9831906
We had a similar situation on our project(same configuration - Websphere Studio WSAD 5, Oracle 8.1.7, Oracle thin driver), working with no problems... the only difference is that we used
oracle.jdbc.OracleTypes.CURSOR not oracle.jdbc.driver.OracleTypes.CURSOR, and we have used DataSource to get db connection (with implementationClassName="oracle.jdbc.pool.OracleConnectionPoolDataSource")
0
 

Author Comment

by:chandubcs
ID: 9858465
Hi,

   I got the solution by myself. In oracle, TYPE ref_cursor IS REF CURSOR will work only with the Oracle packages. So, when I kept my oracle procedures into a package, it started working. Thanks for your comment though.

0
 

Accepted Solution

by:
modulo earned 0 total points
ID: 11418449
PAQed, with points refunded (125)

modulo
Community Support Moderator
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

-Xmx and -Xms are the two JVM options often used to tune JVM heap size.   Here are some common mistakes made when using them:   Assume BigApp is a java class file for the below examples. 1.         Missing m, M, g or G at the end …
Most of the developers using Tomcat find it easy to configure the datasource in Server.xml and use the JNDI name in the code to get the connection.  So the default connection pool using DBCP (or any other framework) is made available and the life go…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…
Monitoring a network: how to monitor network services and why? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the philosophy behind service monitoring and why a handshake validation is critical in network monitoring. Software utilized …

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question