使用PreparedStatement进行更新查询时出现问题,列名为“REORDER”

时间:2016-12-27 09:22:16

标签: hibernate prepared-statement ojdbc

我们一直在使用带有hibernate 3x的Ojdbc 14来连接我们在JBoss 4x中部署的应用程序中的Oracle数据库。现在我们已将应用服务器升​​级到JBoss 6x。所以我们不得不升级hibernate(4.2.18)和Ojdbc驱动程序(ojdb7)以与应用程序服务器兼容。

我们现在面临一个问题(无效的列索引),对一个名为“REORDER”的列的表进行更新操作,这对Hibernate 3x和Ojdbc 14来说很好。

当查询中存在列REORDER时,PreparedStatement正在计算错误的参数计数(276)而不是实际的参数数(277),否则它正常工作。

“REORDER”列的insert语句也正常工作。

我们尝试搜索Oracle关键字以查看它是否是Oracle关键字,但它也没有列在Oracle保留关键字中。

当我们将列“REORDER”命名为其他名称时,我们可以更新表格。

任何人都可以帮助我们了解这里出了什么问题。

1 个答案:

答案 0 :(得分:0)

某些特定版本的JDBC驱动程序似乎存在问题。我们可以通过将环境中使用的JDBC驱动程序降级为OJDBC6(11.2.0.3)来解决该问题。

参考: http://www-01.ibm.com/support/docview.wss?uid=swg21982951