javaoracle-databasejdbcora-01036

Java JDBC Oracle 9i upgrade to 10g issues


We have just upgrade from oracle 9i to 10g and a database query I have works with the 9i client but not the 10g. Nothing in the query has changed. I get the following error:

java.sql.SQLException: ORA-01036: illegal variable name/number

Not really sure what is going on. Why wouldn't it run anymore. It's just a select statement which joins about 3 or 4 tables. I am making sure that I am passing in the variable using setInt (it's a number that I'm using). While diff'ing the tables being joined the only thing I find different is that on one table a column I'm joining is set to be a Number on one table and Number(12) on the other. Does this make a difference? The query still runs in TOAD and SQL Navigator...


Solution

  • The problem was with the following method call on the prepared statement:

    ps.setEscapeProcessing(false);
    

    Removed that and now it works fine. Don't think that was compatable with oracle 10g driver. Thanks everyone for the help.