| Author |
got error: Invalid column index
|
emma Yao
Greenhorn
Joined: Aug 03, 2006
Posts: 1
|
|
When I tried to call a procedure which returns a cursor (the 5th param, refcursor type in oracle9i), I got an error(java.sql.SQLException: Invalid column index) when the execution went to line 'rs = (ResultSet)st.getObject(1);'. When I tested and execute the same procedure in SQLplus, I could get a result back (returns one record with 3 columns)Any suggestion and help will be greatly appreciated! -------------------------------------------------- CallableStatement st = null; ResultSet rs = null; DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); Connection db_conn = java.sql.DriverManager.getConnection (""); st = db_conn.prepareCall("BEGIN packName.GETVENDORLIST(?,?,?,?,?); END; "); st.setString(1,"1603DR"); st.setString(2,"06"); st.setString(3,"4160"); st.setString(4,"LA"); st.registerOutParameter(5,OracleTypes.CURSOR); st.execute(); System.out.println("success execute"); rs = (ResultSet)st.getObject(1); while (rs.next()){ System.out.println(rs.getString(1)); System.out.println(rs.getString(2)); System.out.println(rs.getString(3)); } [ August 03, 2006: Message edited by: Bear Bibeault ]
|
 |
Carl Trusiak
Sheriff
Joined: Jun 13, 2000
Posts: 3340
|
|
You have registered 5 as the out parameter but, are getting parameter 1 after the call. Change that to rs = (ResultSet)st.getObject(5);
|
I Hope This Helps
Carl Trusiak, SCJP2, SCWCD
|
 |
 |
|
|
subject: got error: Invalid column index
|
|
|