Frage

Ich habe ein litle großes Problem mit Java-Heap-Speicher Ich versuche, aus Oracle-Datenbank 11g Access-Datei 2007

zu migrieren

Dies ist kein Problem, unter 65,000 Aufzeichnungen, jetzt von dort ... Die aplication wirft Ausnahme Java Heap, der Speicherverbrauch erzieht über 600m und die CPU-Auslastung über 50% bis zum exeption.

Soweit ich das rset.next wissen () nicht alle Daten erhalten (über 50 colums x 65000 Reihe), aber einige Aufzeichnungen x Zeit Ich habe versuchen Satz holen Größe, es ist nichts passiert

rset.setFetchSize(1000);

Ich habe meinen Code löschen und zeigt einen Ausgang, denselben Fehler

while (rset.next()) {
 if (cont % 5000 == 0) {
     System.out.println(cont + " proccesed and counting ...");
 }
}

Bitte geben Sie nicht mir die Antwort der Verwendung -xm (s, x) 512, 1024, etc ... dies gelöst konnte, nicht in meinem besonders Fall (ich habe tryied diese noch höher xD, nichts geschieht zu setzen, ich habe die gleiche Ausnahme bei 65,000 Aufzeichnungen auch)

Gibt es andere Optionen ich versuchen könnte ?? meaby einige Treiberkonfigurationen oder String conections Ändern ?? bitte Hilfe

Entschuldigung aboubt mein Englisch

Das ist meine Verbindung:

Class.forName("oracle.jdbc.driver.OracleDriver");
this.conn = DriverManager.getConnection("jdbc:oracle:thin:@" + getServer() + ":1521:orcl", getUser(), getPassword());
                this.stmt = this.conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE, java.sql.ResultSet.CONCUR_UPDATABLE);
War es hilfreich?

Lösung

Es sieht aus wie das Problem ist, dass Sie eine rollbare ResultSet verwenden und mit mehr Speicher verwenden wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top