Results 1 to 8 of 8
- 04-12-2011, 06:33 PM #1
Member
- Join Date
- Nov 2010
- Posts
- 6
- Rep Power
- 0
java.sql.SQLException: Invalid column name
I have checked the same below mentioned query in oracle sql developer, it is fetching the output correctly but when i tried to run the query through java. it is giving me java.sql.SQLException: Invalid column name
..
please help me
Query:
select collection from delete_queue where QUEUE_STATUS_ID='1' group by collection
programmatically running the query:
String selectString="select collection from delete_queue where queue_status_id='1' group by collection ";
Statement selectStatement = this.conn.createStatement();
//Execute query and handle ResultSet
ResultSet results = selectStatement.executeQuery(selectString);
- 04-13-2011, 08:36 AM #2
Moderator
- Join Date
- Apr 2009
- Posts
- 10,481
- Rep Power
- 16
What driver are you using?
Is that the full exception?
Are you sure you're looking at the same db?
- 04-13-2011, 01:41 PM #3
Member
- Join Date
- Nov 2010
- Posts
- 6
- Rep Power
- 0
java.sql.SQLException: Invalid column name
driver name : oracle.jdbc.driver.OracleDriver
here is the full exception
at oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:125)
at oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:162)
at oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:227)
at oracle.jdbc.driver.OracleStatement.get_column_inde x(OracleStatement.java:3086)
at oracle.jdbc.driver.OracleResultSetImpl.findColumn( OracleResultSetImpl.java:1854)
at oracle.jdbc.driver.OracleResultSet.getInt(OracleRe sultSet.java:1605)
- 04-13-2011, 01:48 PM #4
Moderator
- Join Date
- Apr 2009
- Posts
- 10,481
- Rep Power
- 16
That's not the full error.
Anyway:
at oracle.jdbc.driver.OracleResultSet.getInt(OracleRe sultSet.java:1605)
It's being thrown when calling getInt() on the result set. You haven't given us that code.
- 04-13-2011, 09:20 PM #5
Member
- Join Date
- Nov 2010
- Posts
- 6
- Rep Power
- 0
List<DeleteQueue> deleteQueue= new Vector<DeleteQueue>();
String selectString="select collection from delete_queue where queue_status_id='1' group by collection ";
Statement selectStatement = this.conn.createStatement();
//Execute query and handle ResultSet
ResultSet results = selectStatement.executeQuery(selectString);
deleteQueue = handleResultSetMultiple(results);
/*--handleresultsetMultiple method----*/
private List<DeleteQueue> handleResultSetMultiple( ResultSet rs )
throws SQLException {
List<DeleteQueue> deleteQueueList = new Vector<DeleteQueue>();
DeleteQueue deleteQueue = handleResultSetSingle( rs );
while( deleteQueue != null ) {
deleteQueueList.add( deleteQueue );
deleteQueue = handleResultSetSingle( rs );
}
return( deleteQueueList );
}
private DeleteQueue handleResultSetSingle( ResultSet rs )
throws SQLException {
if( ! rs.next() )
return( null );
DeleteQueue deleteQueue = new DeleteQueue();
deleteQueue.setProfileId( rs.getInt( PROFILE_ID_COL ) );
deleteQueue.setProductName( rs.getString( PRODUCT_NAME_COL ) );//product_name
deleteQueue.setCollection( rs.getString( COLLECTION_COL ) );//whereCOLLECTION_COL variable whose value is collection
deleteQueue.setDirection( ( rs.getShort( DIRECTION_COL ) == 0 ) ? DeleteQueue.OPTOUT : DeleteQueue.OPTIN );
deleteQueue.setGuid( rs.getString( GUID_COL ) );
deleteQueue.setDeleteId( rs.getInt( DELETE_ID_COL ) );
deleteQueue.setQueueStatus( QueueStatusDAO.getQueueStatusString( rs.getInt( QUEUE_STATUS_ID_COL ) ) );
deleteQueue.setStatusDate( rs.getTimestamp( STATUS_DATE_COL ) );
deleteQueue.setLoadStage( rs.getInt( LOAD_STAGE_COL ) );
deleteQueue.setErrorMessage( rs.getString( ERROR_MESSAGE_COL ) );
deleteQueue.setModifiedBy( rs.getString( MODIFIED_BY_COL ) );
deleteQueue.setModifiedDate( rs.getTimestamp( MODIFIED_DATE_COL ) );
return( deleteQueue );
}
- 04-14-2011, 08:20 AM #6
Moderator
- Join Date
- Apr 2009
- Posts
- 10,481
- Rep Power
- 16
And?
Which line is throwing that SQLException?
You have to give us the information, not expect us to guess.
Also, you should use code tags when posting code, otherwise it's a pain to follow.
- 04-14-2011, 12:56 PM #7
Member
- Join Date
- Nov 2010
- Posts
- 6
- Rep Power
- 0
yep I will follow. I am sorry abt that.
here this line throws exception
deleteQueue.setProfileId( rs.getInt( PROFILE_ID_COL ) );
- 04-14-2011, 01:06 PM #8
Senior Member
- Join Date
- Jun 2008
- Posts
- 2,366
- Rep Power
- 7
you say you are running the query
and then you get an invalid_column_name error doingJava Code:select collection from delete_queue where QUEUE_STATUS_ID='1' group by collection
Well. What is PROFILE_ID_COL? I assume a String, considering the error. And hopefully that string is "collection" (but seemingly it is not) as that is the only column returned and attempting to "get" any other column will throw the error you're getting.Java Code:deleteQueue.setProfileId( rs.getInt( PROFILE_ID_COL ) );
Similar Threads
-
java.sql.SQLException: ORA-00904: "PASS1": invalid identifier
By vishal.jar in forum JDBCReplies: 3Last Post: 01-31-2011, 09:46 AM -
java.sql.SQLException: Column Index out of range, 3 > 1.
By chathura992 in forum JDBCReplies: 2Last Post: 01-07-2011, 11:50 AM -
java.sql.SQLException: [Oracle][ODBC][Ora]ORA-00904: invalid column name
By OMFGITSROHIT in forum JDBCReplies: 1Last Post: 04-05-2010, 01:32 AM -
java.sql.SQLException: ORA-01722: invalid number
By balushanmukha in forum JDBCReplies: 0Last Post: 08-27-2008, 06:52 PM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks