sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo obtener claves generadas por executeBatch sin ArrayIndexOutOfBoundsException?

Esto parece ser un error en Oracle en Windows, el controlador JAR ojdbc6.jar o (conociendo Oracle) ambos.

No hay ningún problema significativo con el código que ha presentado. Debería funcionar, aunque cuando lo ejecuté, el número de filas insertadas cada vez se devolvió como -2 (=Statement.SUCCESS_NO_INFO ), por lo que es mejor que ignore estos números.

Su código funciona bien para mí con Oracle 11g XE 11.2.0.2.0 en Linux con cuatro versiones del JAR del controlador Oracle JDBC. Sin embargo, si lo ejecuto en Windows 10 con la misma versión de Oracle XE y con ojdbc6.jar, falla con la misma ArrayIndexOutOfBoundsException que está recibiendo. El problema desaparece si uso ojdbc7.jar en lugar de ojdbc6.jar.

Por lo tanto, recomendaría reemplazar ojdbc6.jar con ojdbc7.jar, que puede descargar desde aquí .