[ 
http://issues.apache.org/jira/browse/IBATIS-303?page=comments#action_12415107 ] 

Sven Boden commented on IBATIS-303:
-----------------------------------

It's a known problem, and it's not going to be solved. It's not in iBATIS, it's 
a problem with Oracle's driver. 

The JDBC spec allows vendors to skip certain functionality in executeBatch and 
this is what Oracle does, they return -2 for updates in executeBatch which 
iBATIS translates to 0. Oracle just doesn't return the number of rows being 
updated for prepared statements.

>From the Oracle 9i documentation: "For a prepared statement batch, it is not 
>possible to know the number of rows affected in the database by each 
>individual statement in the batch. Therefore, all array elements have a value 
>of -2. According to the JDBC 2.0 specification, a value of -2 indicates that 
>the operation was successful but the number of rows affected is unknown."



> SqlMapExecutor.executeBatch() returns 0
> ---------------------------------------
>
>          Key: IBATIS-303
>          URL: http://issues.apache.org/jira/browse/IBATIS-303
>      Project: iBatis for Java
>         Type: Bug

>   Components: SQL Maps
>     Versions: 2.1.7
>  Environment: Oracle 9, OCI driver
>     Reporter: george apostolov

>
> SqlMapExecutor.executeBatch() returns 0 on Oracle 9 using the oci jdbc driver.
>  I saw someone had the same issue before but this still seems to be a problem
> Thanks,
> George

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to