Oracle
 sql >> Datenbank >  >> RDS >> Oracle

java.lang.ArrayIndexOutOfBoundsException bei oracle.jdbc.driver.T4CTTIrxd.readBitVector(T4CTTIrxd.java:135)

Dies ist mit ziemlicher Sicherheit auf die Zeilenkomprimierung zurückzuführen. Die Datenbank erkennt aufeinanderfolgende doppelte Spaltenwerte und sendet den Wert nicht erneut, sondern sendet konzeptionell nur "dito". Dieses Problem hängt also stark von den zurückgegebenen Daten ab. Wenn die Abfrage nicht ORDER BY enthält, können selbst wiederholte Ausführungen einer einzelnen Abfrage in einer einzelnen Datenbank die Zeilen in einer anderen Reihenfolge zurückgeben, sodass dieses Problem schwer zu reproduzieren sein kann.

In den letzten Versionen gab es mehrere Patches für diesen Code. Ich erinnere mich vage, dieses Problem gesehen zu haben, aber ich kann keinen Fehler dafür finden. Dennoch hat sich der Code in letzter Zeit stark geändert, daher schlage ich vor, 12.2.0.1.0 auszuprobieren, das unter verfügbar ist Oracle Maven . Wenn es sich mit 12.2.0.1.0 reproduziert, melden Sie bitte einen Fehler.