2016-05-09 4 views
0

Ich muss mit Apache POI in Excel schreiben. Die Anzahl der Zeilen, die ich auf einem Blatt schreiben muss, liegt bei 57K, und jedes Mal, wenn ich damit fertig bin, bekomme ich SQL Error und Network IO Exception. Ich denke das liegt daran, dass es seine Verbindung verliert.Erneutes Öffnen der Datenbankverbindung beim Abrufen großer Datenmengen mit Apache POI

o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 08S01 o.h.engine.jdbc.spi.SqlExceptionHelper : Network error IOException: Cannot assign requested address

Wie kann ich meine Verbindung zur Datenbank wieder öffnen, wenn ein Netzwerk-Timeout vorliegt? HILFE !!!!

Antwort

0

Wenn Sie große Daten mit ORM einfügen, müssen Sie die Verbindung spülen. wie haben Sie 57k Reihen

int i=totalRows; 
for(int j=0;j<i;j++){ 
    session.save(thedatayouwantsave); 
    if(j%1000==0){ 
     session.flush(); 
    } 
} 

oder Sie mit dem Cursor erhöhen.

+0

mein Fall im Lesen ... die Lösung, die Sie mir gaben, hängt nicht mit meiner Frage zusammen – Rudy

+0

Sir der Fehler kommt sofort, wenn Sie für das Speichern oder nach dem Einfügen einiger Einträge gehen ?? Protokollen überprüfen fügt einige Daten ein. ?? – sunixi

+0

Ich schreibe in ein Excel - im Grunde umformulieren die Frage Schreiben von der Datenbank zu einem Excel mit Apache poi und es wirft einen Fehler, weil es verliert die DB-Verbindung @ sunixi – Rudy