Dette ser ud til at være en fejl i Oracle på Windows, driveren JAR ojdbc6.jar eller (ved Oracle) begge dele.
Der er ikke noget væsentligt problem med den kode, du har præsenteret. Det burde fungere, selvom antallet af rækker, der blev indsat hver gang, blev returneret som -2 (=Statement.SUCCESS_NO_INFO
), så du kan være bedre stillet til at ignorere disse tal.
Din kode kører fint for mig med Oracle 11g XE 11.2.0.2.0 på Linux med fire versioner af Oracle JDBC-driveren JAR. Men hvis jeg kører det på Windows 10 med den samme version af Oracle XE og med ojdbc6.jar, fejler det med den samme ArrayIndexOutOfBoundsException, som du får. Problemet forsvinder, hvis jeg bruger ojdbc7.jar i stedet for ojdbc6.jar.
Derfor vil jeg anbefale at udskifte ojdbc6.jar med ojdbc7.jar, som du kan downloade fra her .