aspose file tools
The moose likes JDBC and the fly likes got error: Invalid column index Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login


Win a copy of The Mikado Method this week in the Agile and other Processes forum!
JavaRanch » Java Forums » Databases » JDBC
Reply Bookmark "got error: Invalid column index " Watch "got error: Invalid column index " New topic
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
 
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to run our stuff on 16 servers instead of 3.
 
subject: got error: Invalid column index
 
Similar Threads
Can't delete a row in an Access database
getting ResultSet from Oracle procedure
insert followed by an update with CompositeUserType
null resultset
Error executing Oracle function from JSP page