sql >> Databasteknik >  >> RDS >> Oracle

Hur får man genererade nycklar av executeBatch utan ArrayIndexOutOfBoundsException?

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 .




  1. Kopiera data från en fil till en CLOB i Oracle

  2. MySQL formatera om mysql-resultatet för att möta json hansontable

  3. Hur kan du se vilka kolumner som är oanvända i ALL_TAB_COLS?

  4. FEL 2002 (HY000):Kan inte ansluta till den lokala MySQL-servern via uttaget '/var/run/mysqld/mysqld.sock' (2)