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...
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.