sql >> Database teknologi >  >> RDS >> Oracle

Hvordan får man genererede nøgler af executeBatch uden ArrayIndexOutOfBoundsException?

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 .




  1. Hent værdien af ​​et xml-element i Oracle PL SQL

  2. Hvordan kan jeg gemme outputtet af en forespørgsel i en midlertidig tabel og bruge tabellen i en ny forespørgsel?

  3. Forsøger at udfylde en rullemenu i codeigniter med mysql-data

  4. Forespørgsel efter koordinater tager for lang tid - muligheder for at optimere?