Wygląda na to, że jest to błąd w Oracle w systemie Windows, sterowniku JAR ojdbc6.jar lub (znając Oracle) w obu.
Z przedstawionym przez Ciebie kodem nie ma większego problemu. Powinno działać, chociaż po uruchomieniu liczba wierszy wstawionych za każdym razem była zwracana jako -2 (=Statement.SUCCESS_NO_INFO
), więc może lepiej zignorować te liczby.
Twój kod działa dobrze dla mnie z Oracle 11g XE 11.2.0.2.0 w systemie Linux z czterema wersjami JAR sterownika Oracle JDBC. Jeśli jednak uruchomię go w systemie Windows 10 z tą samą wersją Oracle XE iz ojdbc6.jar, nie powiedzie się z tym samym wyjątkiem ArrayIndexOutOfBoundsException, który otrzymujesz. Problem zniknie, jeśli użyję ojdbc7.jar zamiast ojdbc6.jar.
Dlatego polecam zastąpienie ojdbc6.jar plikiem ojdbc7.jar, który można pobrać ze strony tutaj .