sql >> Database >  >> RDS >> Oracle

Hoe gegenereerde sleutels te krijgen door executeBatch zonder ArrayIndexOutOfBoundsException?

Dit lijkt een bug te zijn in Oracle op Windows, de driver JAR ojdbc6.jar, of (Oracle kennende) beide.

Er is geen noemenswaardig probleem met de door u gepresenteerde code. Het zou moeten werken, hoewel toen ik het uitvoerde het aantal rijen dat elke keer werd ingevoegd, werd geretourneerd als -2 (=Statement.SUCCESS_NO_INFO ), dus u kunt deze cijfers beter negeren.

Je code werkt prima voor mij met Oracle 11g XE 11.2.0.2.0 op Linux met vier versies van het Oracle JDBC-stuurprogramma JAR. Als ik het echter op Windows 10 uitvoer met dezelfde versie van Oracle XE en met ojdbc6.jar, mislukt het met dezelfde ArrayIndexOutOfBoundsException die u krijgt. Het probleem verdwijnt als ik ojdbc7.jar gebruik in plaats van ojdbc6.jar.

Daarom raad ik aan ojdbc6.jar te vervangen door ojdbc7.jar, dat u kunt downloaden van hier .




  1. Gids voor het ontwerpen van een database voor quiz in MySQL

  2. PostgreSQL 12:Implementatie van K-Nearest Neighbor Space gepartitioneerde algemene zoekboomindexen

  3. Een beperking om het invoegen van een lege string in MySQL te voorkomen

  4. Toegang tot een specifieke tabel in html-tag