浏览 6654 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-09-03
但是在使用batchUpdate()函数时遇到了执行结果为-2的问题,先查查API: batchUpdate public int[] batchUpdate(String[] sql) throws DataAccessException Description copied from interface: JdbcOperations Issue multiple SQL updates on a single JDBC Statement using batching. Will fall back to separate updates on a single Statement if the JDBC driver does not support batch updates. Specified by: batchUpdate in interface JdbcOperations Parameters: sql - defining an array of SQL statements that will be executed. Returns: [b]an array of the number of rows affected by each statement[/b] Throws: DataAccessException - if there is any problem executing the batch 返回值为一个整型的数组,数组的每个元素值对应每条SQL影响的数据库的记录数。 这样无论如何负值也无法理解的。网上查询有地方说是驱动的问题,然后动手用JDBC的PreparedStatement测试了一把,同样的结果。那么说,出现这种结果的根本原因是JDBC驱动。 从Oracle的官网下载了Oracle11gR2的最新驱动ojdbc6.jar,目前问题仍然存在。。。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2014-01-17
我也碰到了这个问题,在google上查了下,看到几个回复,只找到了问题的解释,目前没有好的处理办法,除了不用batchUpdate()
-2表示update成功,但无法获取准确数目。 可以参考下面两个地址获取详细信息。 有解决办法了,还望大家来交流~ http://docs.oracle.com/cd/B28359_01/java.111/b31224/oraperf.htm#CHDCBHEC http://stackoverflow.com/questions/19022175/executebatch-method-return-array-of-value-2-in-java |
|
返回顶楼 | |