Ich arbeite mit einer Oracle-DB (10) und erzeuge in meinem Programm mittelmäßig viele Datenbankeinträge (einige Dutzend bis wenige Hundert) auf einmal. Dabei bekam ich die Fehlermeldung ...
ORA-01000: Maximale Anzahl offener Cursor überschritten
Nun habe ich gegooglt und das einzig sinnvoll Ergebnis war, das es evtl. daran liegt, das die erzeugten ResultSets nicht schnell genug geschlossen werden. Da ich sie nicht benötige, hatte ich sie von anfang an nicht referenziert. Jetzt habe ich die folgende Änderung vorgenommen:
Nun werden zunächst einige mehr Einträge ausgeführt (war zumindest mein Eindruck). Dann erhalte ich aber zuerst die Fehlermeldung ...
ORA-00604: Fehler auf rekursiver SQL-Ebene 1
ORA-01000: Maximale Anzahl offener Cursor überschritten
... und dann immer wieder den Fehler ORA-01000 alleine.
Wo kann der Fehler liegen? Ich bin für jeden Ansatz dankbar.
ORA-01000: Maximale Anzahl offener Cursor überschritten
Nun habe ich gegooglt und das einzig sinnvoll Ergebnis war, das es evtl. daran liegt, das die erzeugten ResultSets nicht schnell genug geschlossen werden. Da ich sie nicht benötige, hatte ich sie von anfang an nicht referenziert. Jetzt habe ich die folgende Änderung vorgenommen:
Code:
// vorher
(mDBCon.createStatement()).executeQuery(tInsertString + tValueString);
// nachher
(mDBCon.createStatement()).executeQuery(tInsertString + tValueString).close();
Nun werden zunächst einige mehr Einträge ausgeführt (war zumindest mein Eindruck). Dann erhalte ich aber zuerst die Fehlermeldung ...
ORA-00604: Fehler auf rekursiver SQL-Ebene 1
ORA-01000: Maximale Anzahl offener Cursor überschritten
... und dann immer wieder den Fehler ORA-01000 alleine.
Wo kann der Fehler liegen? Ich bin für jeden Ansatz dankbar.