我们刚从oracle 9i升级到10g,数据库查询我和9i客户端一起工作但不是10g。查询中的任何内容都没有更改。我收到以下错误:
java.sql.SQLException: ORA-01036: illegal variable name/number
不确定发生了什么。为什么它不会再运行了。它只是一个连接约3或4个表的select语句。我确保我使用setInt传递变量(它是我正在使用的数字)。虽然差异表正在加入,但我发现不同的是,在一个表上,我加入的列被设置为一个表上的数字和另一个表上的数字(12)。这有什么不同吗?该查询仍在TOAD和SQL Navigator中运行...
答案 0 :(得分:0)
另外,根据您的经验,如果您的数据库很大/很忙,那么在您的10g环境稳定之前,您还有一个公平的方法。我的建议:
答案 1 :(得分:0)
问题在于对预准备语句的以下方法调用:
ps.setEscapeProcessing(false);
删除它,现在它工作正常。不要认为这与oracle 10g驱动程序兼容。谢谢大家的帮助。