Isso parece ser um bug no Oracle no Windows, o driver JAR ojdbc6.jar, ou (conhecendo Oracle) ambos.
Não há nenhum problema significativo com o código que você apresentou. Deve funcionar, embora quando eu o executei, o número de linhas inseridas a cada vez foi retornado como -2 (=
Statement.SUCCESS_NO_INFO
), então talvez seja melhor ignorar esses números. Seu código funciona bem para mim com o Oracle 11g XE 11.2.0.2.0 no Linux com quatro versões do JAR do driver Oracle JDBC. No entanto, se eu executá-lo no Windows 10 com a mesma versão do Oracle XE e com ojdbc6.jar, ele falha com o mesmo ArrayIndexOutOfBoundsException que você está recebendo. O problema desaparece se eu usar ojdbc7.jar em vez de ojdbc6.jar.
Portanto, eu recomendaria substituir ojdbc6.jar por ojdbc7.jar, que você pode baixar em aqui .