Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

SQLException encountered while executing the query - however, at random situations

 
Rashmi Tambe
Ranch Hand
Posts: 418
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all,
I have an session bean that executes various search quesries for different search criteian. The problems i get following SQL exception
while executing the query on a preparedtstatement.
java.sql.SQLException: ORA-01475: must reparse cursor to change bind variable datatype
However, this behavior is random, and so i am not able to understand why it is occuring? I am using weblogic 7.0.1 and oracle 8.1. Can anybody help ?
[ March 30, 2004: Message edited by: Rashmi Tambe ]
 
Avi Abrami
Ranch Hand
Posts: 1141
1
Java Oracle
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Rashmi,

Can anybody help ?

No, not without more information. But I will make a guess.
You are invoking the "setObject()" method (of interface PreparedStatement) many times. Usually, you are supplying the same type of object (for example, Timestamp), but sometimes you are sending a different type of object -- perhaps Date instead of "Timestamp".
Hopefully you can figure out how to proceed from here, or supply some more details. At least:
  • the entire error message and stack trace you are getting
  • the part of your code that is causing the problem

  • Good Luck,
    Avi.
     
    Rashmi Tambe
    Ranch Hand
    Posts: 418
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Hi Avi,
    Here is the stack trace...
    ava.sql.SQLException: ORA-01475: must reparse cursor to change bind variable datatype
    at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:259)
    at weblogic.jdbc.oci.Statement.executeQuery(Statement.java:907)
    at weblogic.jdbc.pool.PreparedStatement.executeQuery(PreparedStatement.java:53)
    at weblogic.jdbc.rmi.internal.PreparedStatementImpl.executeQuery(PreparedStatementImpl.java:65)
    at weblogic.jdbc.rmi.SerialPreparedStatement.executeQuery(SerialPreparedStatement.java:43)

    Avi, u r right...I am invoking the "setObject()" method (of interface PreparedStatement) many times. here goes the code that is causing this problem

    Howvere, the query does not contain date or timestamp data type parameters. They are simple string , booleans and integers.
    I read it somewhere that this is a bug in the WebLogic jDriver for Oracle . I am still verifying it.
     
    • Post Reply
    • Bookmark Topic Watch Topic
    • New Topic