Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to call a stored procedure having two cursor as output parameter in java

2783188Nov 20 2015 — edited Nov 21 2015

How to call a procedure in java method having to Cursor as output parameter.

xxk_emp_attendance_upd_pkg.UserAttendanceWSDL(p_user_name        in varchar2,

                                                                 p_start_date       in varchar2,

                                                                 p_end_date         in varchar2,

                                                                  P_LANGUAGE         in varchar2,

                                                                  p_attendance_tbl   out SYS_REFCURSOR,

                                                                 p_employee_details out SYS_REFCURSOR)

How will I call such procedures from java method. I am currently trying to call in below way

                    cs.setString(1, "XXX"); //Employee Number

                    cs.setString(2, "03/01/2015"); //Start Date

                    cs.setString(3, "04/05/2015"); //End Date

                    cs.setString(4, "US"); //Language

                    cs.registerOutParameter(5, OracleTypes.CURSOR);                   

                    cs.registerOutParameter(6, OracleTypes.CURSOR);

                    cs.execute();

                    System.out.println("Getting the resut :::::::::::::::::");

                  

                    rs = (ResultSet)cs.getObject(6);

                   

                    System.out.println("Getting the resut 2 :::::::::::::::::");

                   

                    while(rs.next()){

                        System.out.println("Getting the Attendance ::::::::::::::::: 1 "+rs.getString("EMPLOYEE_NUMBER"));

                    }

                    rs.close();

                     rs1 = (ResultSet)cs.getObject(5);

                    System.out.println("Getting the resut 1 :::::::::::::::::");

                    while(rs1.next()){

                          System.out.println("Getting the Attendance 2::::::::::::::::: 2 "+rs1.getString("LOG_DATE_EN"));

                        }

                    rs1.close();

However error is coming while calling this.  Result rs doesnot exist after first call. Please suggest what to do.

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 19 2015
Added on Nov 20 2015
16 comments
5,074 views