Det här verkar vara en bugg i Oracle på Windows, drivrutinen JAR ojdbc6.jar eller (vet Oracle) båda.
Det finns inga större problem med koden du har presenterat. Det borde fungera, även om antalet rader som infogades varje gång returnerades som -2 (=Statement.SUCCESS_NO_INFO
), så du kanske är bättre att ignorera dessa siffror.
Din kod fungerar bra för mig med Oracle 11g XE 11.2.0.2.0 på Linux med fyra versioner av Oracle JDBC-drivrutinen JAR. Men om jag kör det på Windows 10 med samma version av Oracle XE och med ojdbc6.jar, misslyckas det med samma ArrayIndexOutOfBoundsException som du får. Problemet försvinner om jag använder ojdbc7.jar istället för ojdbc6.jar.
Därför skulle jag rekommendera att ersätta ojdbc6.jar med ojdbc7.jar, som du kan ladda ner från här .