Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

NullPointerException while closing PreparedStatement

 
Jay Mehta
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I get this error while I close a PreparedStatement. I have checked to see if the PreparedStatement was null before calling close on it, It is not null yet an error is thrown.My connection is also valid and this error is thrown sometimes.Can somebody help??
java.lang.NullPointerException
at oracle.jdbc.dbaccess.DBData.clearIt(DBData.jav(Compiled Code))
at oracle.jdbc.dbaccess.DBDataSetImpl.clearItem(DBDataSetImpl.java:2154)
at oracle.jdbc.driver.OraclePreparedStatement.clearParameters(OraclePreparedStatement.java:2594)
at com.ibm.ejs.cm.cache.CachedStatement.clearParameters(CachedStatement.java)
at com.ibm.ejs.cm.cache.StatementCache.releaseStatement(StatementCache.java)
at com.ibm.ejs.cm.cache.CachedStatement.close(CachedStatement.java)
at com.ibm.ejs.cm.proxy.StatementProxy.__close(StatementProxy.java(Compiled Code))
at com.ibm.ejs.cm.proxy.StatementProxy.close(StatementProxy.java(Compiled Code))
 
Reid M. Pinchback
Ranch Hand
Posts: 775
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Are you maybe closing the connection before the statement? You might be doing this clearly in your code, or if you have a web or ejb app, maybe it is being done by the app container.
 
Jay Mehta
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am very sure that i dont close my connection,Infact in my code i check if the PreparedStatement is null.I am using batching with PreparedStatements..could this be an issue?..
 
Reid M. Pinchback
Ranch Hand
Posts: 775
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Two different concepts here. Just because your reference to a prepared statement isn't null doesn't mean that you haven't closed the statement. All testing for null tells you is if the reference is null, nothing more. What matters is if you (or the container) have called PreparedStatement.close() or Connection.close().
As to using a batch, I don't know if a reason why it would matter. I've used batches before, never ran into anything like what you describe.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic