Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak uzyskać wygenerowane klucze przez executeBatch bez ArrayIndexOutOfBoundsException?

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 .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle, jak zaimportować brakujące klasy java podczas wywoływania java z plsql

  2. Utwórz dynamiczną tabelę nazw za pomocą przygotowanej instrukcji w java

  3. SQL:Czy można pola SUM() typu INTERVAL?

  4. Wielokrotne zapytanie w Oracle przy użyciu perla zwraca tylko pierwsze zapytanie

  5. Generowanie wstawiania sql do Oracle